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 }