/** @stable */ export declare function async(fn: Function): (done: any) => any; /** @stable */ 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; } /** @experimental */ export declare const ComponentFixtureAutoDetect: InjectionToken; /** @experimental */ export declare const ComponentFixtureNoNgZone: InjectionToken; /** @experimental */ export declare function discardPeriodicTasks(): void; /** @experimental */ export declare function fakeAsync(fn: Function): (...args: any[]) => any; /** @experimental */ export declare function flush(maxTurns?: number): number; /** @experimental */ export declare function flushMicrotasks(): void; /** @experimental */ export declare function getTestBed(): TestBed; /** @stable */ export declare function inject(tokens: any[], fn: Function): () => any; /** @experimental */ export declare class InjectSetupWrapper { constructor(_moduleDef: () => TestModuleMetadata); inject(tokens: any[], fn: Function): () => any; } /** @experimental */ export declare type MetadataOverride = { add?: T; remove?: T; set?: T; }; /** @experimental */ export declare function resetFakeAsyncZone(): void; /** @stable */ export declare class TestBed implements Injector { 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; /** @experimental */ initTestEnvironment(ngModule: Type | Type[], platform: PlatformRef, aotSummaries?: () => any[]): void; 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; /** @experimental */ resetTestEnvironment(): void; resetTestingModule(): void; static compileComponents(): Promise; static configureCompiler(config: { providers?: any[]; useJit?: boolean; }): typeof TestBed; static configureTestingModule(moduleDef: TestModuleMetadata): typeof TestBed; static createComponent(component: Type): ComponentFixture; static get(token: any, notFoundValue?: any): any; /** @experimental */ static initTestEnvironment(ngModule: Type | Type[], platform: PlatformRef, aotSummaries?: () => any[]): TestBed; static overrideComponent(component: Type, override: MetadataOverride): typeof TestBed; static overrideDirective(directive: Type, override: MetadataOverride): typeof TestBed; static overrideModule(ngModule: Type, override: MetadataOverride): typeof TestBed; static overridePipe(pipe: Type, override: MetadataOverride): typeof TestBed; static overrideProvider(token: any, provider: { useFactory: Function; deps: any[]; }): void; static overrideProvider(token: any, provider: { useValue: any; }): void; static overrideTemplate(component: Type, template: string): typeof TestBed; /** @experimental */ static resetTestEnvironment(): void; static resetTestingModule(): typeof TestBed; } /** @experimental */ export declare class TestComponentRenderer { insertRootElement(rootElementId: string): void; } /** @experimental */ export declare type TestModuleMetadata = { providers?: any[]; declarations?: any[]; imports?: any[]; schemas?: Array; }; /** @experimental */ export declare function tick(millis?: number): void; /** @experimental */ export declare function withModule(moduleDef: TestModuleMetadata): InjectSetupWrapper;