/// import { EventEmitter } from 'events'; export declare class Timer extends EventEmitter { protected cb: () => T; protected running: Promise; protected started: boolean; private ticking; protected time: number; protected timer: number; constructor(cb: () => T); immediately(): any; interval(ms: number): void; start(ms?: number): Promise; stop(): void; protected delay(): Promise; protected delayNext(): void; private handleError(e); private reset(); protected tick(): Promise; readonly isRunning: boolean; } export declare type Timeout = Promise & { kill(asSuccess?: boolean): void; }; export declare function timeout(ms: number): Timeout;