import { Disposable } from "./disposable"; import { EventEmitter } from "./events"; export declare function startIntervalCallImmediately(intervalMs: number, callback: () => void): Disposable; export declare function startInterval(intervalMs: number, callback: () => void): Disposable; export declare function startTimeout(intervalMs: number, callback: () => void): Disposable; export declare type EventTimerState = "started" | "stopped"; export declare class EventTimer { private readonly intervalMs; protected emitter: EventEmitter; readonly onTick: import("./events").EventSource; private activeInterval; readonly state: EventTimerState; constructor(intervalMs: number, initialState: EventTimerState); startImmediate(): boolean; start(): boolean; stop(): boolean; dispose(): void; } export declare class ResettableTimeout { private readonly timeoutMs; private source; readonly onTimeout: Promise; readonly timedOut: boolean; private timeout; constructor(timeoutMs: number); private startOrRestartTimeout; reset(newTimeoutMs?: number): void; } export declare function wait(intervalMs: number): Promise; //# sourceMappingURL=timer.d.ts.map