=== tests/cases/compiler/declFileTypeAnnotationTypeLiteral.ts === class c { >c : c } class g { >g : g >T : T } module m { >m : typeof m export class c { >c : c } } // Object literal with everything var x: { >x : { (a: number): c; (a: string): g; new (a: number): c; new (a: string): m.c; [n: string]: c; [n: number]: c; a: c; b: g; m1(): g; m2(a: string, b?: number, ...c: c[]): string; } // Call signatures (a: number): c; >a : number >c : c (a: string): g; >a : string >g : g // Construct signatures new (a: number): c; >a : number >c : c new (a: string): m.c; >a : string >m : any >c : m.c // Indexers [n: number]: c; >n : number >c : c [n: string]: c; >n : string >c : c // Properties a: c; >a : c >c : c b: g; >b : g >g : g // methods m1(): g; >m1 : () => g >g : g m2(a: string, b?: number, ...c: c[]): string; >m2 : (a: string, b?: number, ...c: c[]) => string >a : string >b : number >c : c[] >c : c }; // Function type var y: (a: string) => string; >y : (a: string) => string >a : string // constructor type var z: new (a: string) => m.c; >z : new (a: string) => m.c >a : string >m : any >c : m.c