import { Stream } from 'most'; import { Frame } from './lib/cjs/src/animation-frames'; import { Comparator, OperatorArgs } from './src/types'; declare type Operator = (stream: Stream) => Stream; interface TimeSource { animationFrames(): Stream; delay(delayTime: number): Operator; debounce(period: number): Operator; throttle(period: number): Operator; periodic(period: number): Stream; throttleAnimation: Operator; dispose(): void; } interface MockTimeSource extends TimeSource { createOperator(): OperatorArgs; diagram(str: string, values?: Object): Stream; record(stream: Stream): Stream>; assertEqual(actual: Stream, expected: Stream, 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 };