import { Observable } from 'rxjs'; import { Frame } from './lib/cjs/src/animation-frames'; import { Comparator, OperatorArgs } from './src/types'; declare type Operator = (observable: Observable) => Observable; interface TimeSource { createOperator(): OperatorArgs; animationFrames(): Observable; delay(delayTime: number): Operator; debounce(period: number): Operator; throttle(period: number): Operator; periodic(period: number): Observable; throttleAnimation: Operator; dispose(): void; } interface MockTimeSource extends TimeSource { diagram(str: string, values?: Object): Observable; record(observable: Observable): Observable>; assertEqual(actual: Observable, expected: Observable, comparator?: Comparator): void; run(cb?: (err?: Error) => void): void; } declare function mockTimeSource(args?: Object): MockTimeSource; declare function timeDriver(sink: any): TimeSource; export { Operator, TimeSource, timeDriver, MockTimeSource, mockTimeSource };