import { Observable, SchedulerLike } from "rxjs";
import { TestScheduler } from "rxjs/testing";
import { Configuration } from "./configuration";
import { Context } from "./context";
import { Expect } from "./expect";
import { RunHelpers, TestObservableLike } from "./types";
export declare class RunContext implements Context {
    readonly scheduler: TestScheduler;
    private helpers_;
    constructor(scheduler: TestScheduler, helpers_: RunHelpers);
    get autoFlush(): boolean;
    set autoFlush(value: boolean);
    bind(...schedulers: SchedulerLike[]): void;
    cold<T = any>(marbles: string, values?: {
        [key: string]: T;
    }, error?: any): TestObservableLike<T>;
    configure(configuration: Configuration): void;
    equal<T = any>(actual: Observable<T>, expected: TestObservableLike<T>): void;
    equal<T = any>(actual: Observable<T>, expected: string, values?: {
        [key: string]: T;
    }, error?: any): void;
    equal<T = any>(actual: Observable<T>, subscription: string, expected: TestObservableLike<T>): void;
    equal<T = any>(actual: Observable<T>, subscription: string, expected: string, values?: {
        [key: string]: T;
    }, error?: any): void;
    expect<T = any>(actual: Observable<T>, subscription?: string): Expect<T>;
    flush(): void;
    has<T = any>(actual: Observable<T>, expected: string | string[]): void;
    hot<T = any>(marbles: string, values?: {
        [key: string]: T;
    }, error?: any): TestObservableLike<T>;
    reframe(timePerFrame: number, maxTime?: number): void;
    teardown(): void;
    time(marbles: string): number;
}
