tests/cases/compiler/moduleElementsInWrongContext2.ts(2,5): error TS1235: A namespace declaration is only allowed at the top level of a namespace or module.
tests/cases/compiler/moduleElementsInWrongContext2.ts(3,5): error TS1235: A namespace declaration is only allowed at the top level of a namespace or module.
tests/cases/compiler/moduleElementsInWrongContext2.ts(7,5): error TS1235: A namespace declaration is only allowed at the top level of a namespace or module.
tests/cases/compiler/moduleElementsInWrongContext2.ts(9,5): error TS1234: An ambient module declaration is only allowed at the top level in a file.
tests/cases/compiler/moduleElementsInWrongContext2.ts(13,5): error TS1231: An export assignment must be at the top level of a file or module declaration.
tests/cases/compiler/moduleElementsInWrongContext2.ts(17,5): error TS1233: An export declaration can only be used at the top level of a namespace or module.
tests/cases/compiler/moduleElementsInWrongContext2.ts(18,5): error TS1233: An export declaration can only be used at the top level of a namespace or module.
tests/cases/compiler/moduleElementsInWrongContext2.ts(19,5): error TS1233: An export declaration can only be used at the top level of a namespace or module.
tests/cases/compiler/moduleElementsInWrongContext2.ts(20,5): error TS1258: A default export must be at the top level of a file or module declaration.
tests/cases/compiler/moduleElementsInWrongContext2.ts(21,5): error TS1184: Modifiers cannot appear here.
tests/cases/compiler/moduleElementsInWrongContext2.ts(22,5): error TS1184: Modifiers cannot appear here.
tests/cases/compiler/moduleElementsInWrongContext2.ts(23,5): error TS1232: An import declaration can only be used at the top level of a namespace or module.
tests/cases/compiler/moduleElementsInWrongContext2.ts(24,5): error TS1232: An import declaration can only be used at the top level of a namespace or module.
tests/cases/compiler/moduleElementsInWrongContext2.ts(25,5): error TS1232: An import declaration can only be used at the top level of a namespace or module.
tests/cases/compiler/moduleElementsInWrongContext2.ts(26,5): error TS1232: An import declaration can only be used at the top level of a namespace or module.
tests/cases/compiler/moduleElementsInWrongContext2.ts(27,5): error TS1232: An import declaration can only be used at the top level of a namespace or module.
tests/cases/compiler/moduleElementsInWrongContext2.ts(28,5): error TS1232: An import declaration can only be used at the top level of a namespace or module.


==== tests/cases/compiler/moduleElementsInWrongContext2.ts (17 errors) ====
    function blah () {
        module M { }
        ~~~~~~
!!! error TS1235: A namespace declaration is only allowed at the top level of a namespace or module.
        export namespace N {
        ~~~~~~
!!! error TS1235: A namespace declaration is only allowed at the top level of a namespace or module.
            export interface I { }
        }
    
        namespace Q.K { }
        ~~~~~~~~~
!!! error TS1235: A namespace declaration is only allowed at the top level of a namespace or module.
    
        declare module "ambient" {
        ~~~~~~~
!!! error TS1234: An ambient module declaration is only allowed at the top level in a file.
    
        }
    
        export = M;
        ~~~~~~
!!! error TS1231: An export assignment must be at the top level of a file or module declaration.
    
        var v;
        function foo() { }
        export * from "ambient";
        ~~~~~~
!!! error TS1233: An export declaration can only be used at the top level of a namespace or module.
        export { foo };
        ~~~~~~
!!! error TS1233: An export declaration can only be used at the top level of a namespace or module.
        export { baz as b } from "ambient";
        ~~~~~~
!!! error TS1233: An export declaration can only be used at the top level of a namespace or module.
        export default v;
        ~~~~~~
!!! error TS1258: A default export must be at the top level of a file or module declaration.
        export default class C { }
        ~~~~~~
!!! error TS1184: Modifiers cannot appear here.
        export function bee() { }
        ~~~~~~
!!! error TS1184: Modifiers cannot appear here.
        import I = M;
        ~~~~~~
!!! error TS1232: An import declaration can only be used at the top level of a namespace or module.
        import I2 = require("foo");
        ~~~~~~
!!! error TS1232: An import declaration can only be used at the top level of a namespace or module.
        import * as Foo from "ambient";
        ~~~~~~
!!! error TS1232: An import declaration can only be used at the top level of a namespace or module.
        import bar from "ambient";
        ~~~~~~
!!! error TS1232: An import declaration can only be used at the top level of a namespace or module.
        import { baz } from "ambient";
        ~~~~~~
!!! error TS1232: An import declaration can only be used at the top level of a namespace or module.
        import "ambient";
        ~~~~~~
!!! error TS1232: An import declaration can only be used at the top level of a namespace or module.
    }
    