declare var foo; declare var foo; declare function foo(): void; declare function foo(): void; declare function foo(): void; declare function foo(x: number, y: string): void; declare class A {} declare class A extends B { x: number } declare class A { static foo(): number; static x: string; } declare class A { static [indexer: number]: string } declare class A { static (): number } declare class A mixins B, C {} declare type A = string; declare type T = { [k: string]: U }; declare interface I { foo: string } declare interface I { foo: T }