| import { Observable } from '../Observable'; | 
| import { ColdObservable } from './ColdObservable'; | 
| import { HotObservable } from './HotObservable'; | 
| import { TestMessage } from './TestMessage'; | 
| import { SubscriptionLog } from './SubscriptionLog'; | 
| import { VirtualTimeScheduler } from '../scheduler/VirtualTimeScheduler'; | 
| export interface RunHelpers { | 
|     cold: typeof TestScheduler.prototype.createColdObservable; | 
|     hot: typeof TestScheduler.prototype.createHotObservable; | 
|     flush: typeof TestScheduler.prototype.flush; | 
|     expectObservable: typeof TestScheduler.prototype.expectObservable; | 
|     expectSubscriptions: typeof TestScheduler.prototype.expectSubscriptions; | 
| } | 
| export declare type observableToBeFn = (marbles: string, values?: any, errorValue?: any) => void; | 
| export declare type subscriptionLogsToBeFn = (marbles: string | string[]) => void; | 
| export declare class TestScheduler extends VirtualTimeScheduler { | 
|     assertDeepEqual: (actual: any, expected: any) => boolean | void; | 
|     readonly hotObservables: HotObservable<any>[]; | 
|     readonly coldObservables: ColdObservable<any>[]; | 
|     private flushTests; | 
|     private runMode; | 
|     constructor(assertDeepEqual: (actual: any, expected: any) => boolean | void); | 
|     createTime(marbles: string): number; | 
|     /** | 
|      * @param marbles A diagram in the marble DSL. Letters map to keys in `values` if provided. | 
|      * @param values Values to use for the letters in `marbles`. If ommitted, the letters themselves are used. | 
|      * @param error The error to use for the `#` marble (if present). | 
|      */ | 
|     createColdObservable<T = string>(marbles: string, values?: { | 
|         [marble: string]: T; | 
|     }, error?: any): ColdObservable<T>; | 
|     /** | 
|      * @param marbles A diagram in the marble DSL. Letters map to keys in `values` if provided. | 
|      * @param values Values to use for the letters in `marbles`. If ommitted, the letters themselves are used. | 
|      * @param error The error to use for the `#` marble (if present). | 
|      */ | 
|     createHotObservable<T = string>(marbles: string, values?: { | 
|         [marble: string]: T; | 
|     }, error?: any): HotObservable<T>; | 
|     private materializeInnerObservable; | 
|     expectObservable(observable: Observable<any>, subscriptionMarbles?: string): ({ | 
|         toBe: observableToBeFn; | 
|     }); | 
|     expectSubscriptions(actualSubscriptionLogs: SubscriptionLog[]): ({ | 
|         toBe: subscriptionLogsToBeFn; | 
|     }); | 
|     flush(): void; | 
|     /** @nocollapse */ | 
|     static parseMarblesAsSubscriptions(marbles: string, runMode?: boolean): SubscriptionLog; | 
|     /** @nocollapse */ | 
|     static parseMarbles(marbles: string, values?: any, errorValue?: any, materializeInnerObservables?: boolean, runMode?: boolean): TestMessage[]; | 
|     run<T>(callback: (helpers: RunHelpers) => T): T; | 
| } |