export declare function async(fn: Function): (done: any) => any; export declare class ComponentFixture { changeDetectorRef: ChangeDetectorRef; componentInstance: T; componentRef: ComponentRef; debugElement: DebugElement; elementRef: ElementRef; nativeElement: any; ngZone: NgZone | null; constructor(componentRef: ComponentRef, ngZone: NgZone | null, _autoDetect: boolean); autoDetectChanges(autoDetect?: boolean): void; checkNoChanges(): void; destroy(): void; detectChanges(checkNoChanges?: boolean): void; isStable(): boolean; whenRenderingDone(): Promise; whenStable(): Promise; } export declare const ComponentFixtureAutoDetect: InjectionToken; export declare const ComponentFixtureNoNgZone: InjectionToken; export declare function discardPeriodicTasks(): void; export declare function fakeAsync(fn: Function): (...args: any[]) => any; export declare function flush(maxTurns?: number): number; export declare function flushMicrotasks(): void; export declare const getTestBed: () => TestBed; export declare function inject(tokens: any[], fn: Function): () => any; export declare class InjectSetupWrapper { constructor(_moduleDef: () => TestModuleMetadata); inject(tokens: any[], fn: Function): () => any; } export declare type MetadataOverride = { add?: Partial; remove?: Partial; set?: Partial; }; export declare function resetFakeAsyncZone(): void; export interface TestBed { ngModule: Type | Type[]; platform: PlatformRef; compileComponents(): Promise; configureCompiler(config: { providers?: any[]; useJit?: boolean; }): void; configureTestingModule(moduleDef: TestModuleMetadata): void; createComponent(component: Type): ComponentFixture; execute(tokens: any[], fn: Function, context?: any): any; get(token: any, notFoundValue?: any): any; get(token: Type | InjectionToken, notFoundValue?: T, flags?: InjectFlags): any; initTestEnvironment(ngModule: Type | Type[], platform: PlatformRef, aotSummaries?: () => any[]): void; inject(token: Type | InjectionToken | AbstractType, notFoundValue?: T, flags?: InjectFlags): T; inject(token: Type | InjectionToken | AbstractType, notFoundValue: null, flags?: InjectFlags): T | null; overrideComponent(component: Type, override: MetadataOverride): void; overrideDirective(directive: Type, override: MetadataOverride): void; overrideModule(ngModule: Type, override: MetadataOverride): void; overridePipe(pipe: Type, override: MetadataOverride): void; overrideProvider(token: any, provider: { useFactory: Function; deps: any[]; }): void; overrideProvider(token: any, provider: { useValue: any; }): void; overrideProvider(token: any, provider: { useFactory?: Function; useValue?: any; deps?: any[]; }): void; overrideTemplateUsingTestingModule(component: Type, template: string): void; resetTestEnvironment(): void; resetTestingModule(): void; } export declare const TestBed: TestBedStatic; export interface TestBedStatic { new (...args: any[]): TestBed; compileComponents(): Promise; configureCompiler(config: { providers?: any[]; useJit?: boolean; }): TestBedStatic; configureTestingModule(moduleDef: TestModuleMetadata): TestBedStatic; createComponent(component: Type): ComponentFixture; get(token: any, notFoundValue?: any): any; get(token: Type | InjectionToken, notFoundValue?: T, flags?: InjectFlags): any; initTestEnvironment(ngModule: Type | Type[], platform: PlatformRef, aotSummaries?: () => any[]): TestBed; inject(token: Type | InjectionToken | AbstractType, notFoundValue: null, flags?: InjectFlags): T | null; inject(token: Type | InjectionToken | AbstractType, notFoundValue?: T, flags?: InjectFlags): T; overrideComponent(component: Type, override: MetadataOverride): TestBedStatic; overrideDirective(directive: Type, override: MetadataOverride): TestBedStatic; overrideModule(ngModule: Type, override: MetadataOverride): TestBedStatic; overridePipe(pipe: Type, override: MetadataOverride): TestBedStatic; overrideProvider(token: any, provider: { useValue: any; }): TestBedStatic; overrideProvider(token: any, provider: { useFactory?: Function; useValue?: any; deps?: any[]; }): TestBedStatic; overrideProvider(token: any, provider: { useFactory: Function; deps: any[]; }): TestBedStatic; overrideTemplate(component: Type, template: string): TestBedStatic; overrideTemplateUsingTestingModule(component: Type, template: string): TestBedStatic; resetTestEnvironment(): void; resetTestingModule(): TestBedStatic; } export declare class TestComponentRenderer { insertRootElement(rootElementId: string): void; } export declare type TestModuleMetadata = { providers?: any[]; declarations?: any[]; imports?: any[]; schemas?: Array; aotSummaries?: () => any[]; }; export declare function tick(millis?: number): void; export declare function withModule(moduleDef: TestModuleMetadata): InjectSetupWrapper; export declare function withModule(moduleDef: TestModuleMetadata, fn: Function): () => any;