==== tests/cases/compiler/privacyGloInterface.ts (11 errors) ====
    module m1 {
        export class C1_public {
            private f1() {
            }
        }
    
    
        class C2_private {
        }
    
        export interface C3_public {
            (c1: C1_public);
            (c1: C2_private);
             ~~~~~~~~~~~~~~
!!! privacyGloInterface.ts(13,10): error TS2036: Parameter 'c1' of call signature from exported interface has or is using private type 'C2_private'.
            (): C1_public;
            (c2: number): C2_private;
                          ~~~~~~~~~~
!!! privacyGloInterface.ts(15,23): error TS2053: Return type of call signature from exported interface has or is using private type 'C2_private'.
    
            new (c1: C1_public);
            new (c1: C2_private);
                 ~~~~~~~~~~~~~~
!!! privacyGloInterface.ts(18,14): error TS2035: Parameter 'c1' of constructor signature from exported interface has or is using private type 'C2_private'.
            new (): C1_public;
            new (c2: number): C2_private;
                              ~~~~~~~~~~
!!! privacyGloInterface.ts(20,27): error TS2052: Return type of constructor signature from exported interface has or is using private type 'C2_private'.
    
            [c: number]: C1_public;
            [c: string]: C2_private;
                         ~~~~~~~~~~
!!! privacyGloInterface.ts(23,22): error TS2054: Return type of index signature from exported interface has or is using private type 'C2_private'.
    
            x: C1_public;
            y: C2_private;
            ~~~~~~~~~~~~~
!!! privacyGloInterface.ts(26,9): error TS2026: Property 'y' of exported interface has or is using private type 'C2_private'.
    
            a?: C1_public;
            b?: C2_private;
            ~~~~~~~~~~~~~~
!!! privacyGloInterface.ts(29,9): error TS2026: Property 'b' of exported interface has or is using private type 'C2_private'.
    
            f1(a1: C1_public);
            f2(a1: C2_private);
               ~~~~~~~~~~~~~~
!!! privacyGloInterface.ts(32,12): error TS2039: Parameter 'a1' of method from exported interface has or is using private type 'C2_private'.
            f3(): C1_public;
            f4(): C2_private;
                  ~~~~~~~~~~
!!! privacyGloInterface.ts(34,15): error TS2057: Return type of method from exported interface has or is using private type 'C2_private'.
    
        }
    
        interface C4_private {
            (c1: C1_public);
            (c1: C2_private);
            (): C1_public;
            (c2: number): C2_private;
    
            new (c1: C1_public);
            new (c1: C2_private);
            new (): C1_public;
            new (c2: number): C2_private;
    
            [c: number]: C1_public;
            [c: string]: C2_private;
    
            x: C1_public;
            y: C2_private;
    
            a?: C1_public;
            b?: C2_private;
    
            f1(a1: C1_public);
            f2(a1: C2_private);
            f3(): C1_public;
            f4(): C2_private;
    
        }
    }
    
    class C5_public {
        private f1() {
        }
    }
    
    
    interface C7_public {
        (c1: C5_public);
        (): C5_public;
    
        new (c1: C5_public);
        new (): C5_public;
    
        [c: number]: C5_public;
    
        x: C5_public;
    
        a?: C5_public;
    
        f1(a1: C5_public);
        f3(): C5_public;
    }
    
    module m3 {
        export interface m3_i_public {
            f1(): number;
        }
    
        interface m3_i_private {
            f2(): string;
        }
    
        interface m3_C1_private extends m3_i_public {
        }
        interface m3_C2_private extends m3_i_private {
        }
        export interface m3_C3_public extends m3_i_public {
        }
        export interface m3_C4_public extends m3_i_private {
                                              ~~~~~~~~~~~~
!!! privacyGloInterface.ts(104,43): error TS2020: Exported interface 'm3_C4_public' extends private interface 'm3_i_private'.
        }
    
        interface m3_C5_private extends m3_i_private, m3_i_public {
        }
        export interface m3_C6_public extends  m3_i_private, m3_i_public {
                                               ~~~~~~~~~~~~
!!! privacyGloInterface.ts(109,44): error TS2020: Exported interface 'm3_C6_public' extends private interface 'm3_i_private'.
        }
    }
    
    interface glo_i_public {
        f1(): number;
    }
    
    interface glo_C3_public extends glo_i_public {
    }
    