import { Stream } from 'most'; import { Frame } from './src/animation-frames'; 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; } interface MockTimeSource extends TimeSource { diagram(str: string, values?: Object): Stream; record(stream: Stream): Stream>; assertEqual(actual: Stream, expected: Stream): 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 };