import { Observable, SchedulerLike } from "rxjs"; import { TestScheduler } from "rxjs/testing"; import { Configuration } from "./configuration"; import { Expect } from "./expect"; import { TestObservableLike } from "./types"; export interface Context { autoFlush: boolean; readonly scheduler: TestScheduler; bind(...schedulers: SchedulerLike[]): void; cold(marbles: string, values?: { [key: string]: T; }, error?: any): TestObservableLike; configure(configuration: Configuration): void; equal(actual: Observable, expected: TestObservableLike): void; equal(actual: Observable, expected: string, values?: { [key: string]: T; }, error?: any): void; equal(actual: Observable, subscription: string, expected: TestObservableLike): void; equal(actual: Observable, subscription: string, expected: string, values?: { [key: string]: T; }, error?: any): void; expect(actual: Observable, subscription?: string): Expect; flush(): void; has(actual: Observable, expected: string | string[]): void; hot(marbles: string, values?: { [key: string]: T; }, error?: any): TestObservableLike; reframe(timePerFrame: number, maxTime?: number): void; teardown(): void; time(marbles: string): number; }