import Future from './Future'; export type TimerData = { last: number; interval: number; iterations: number; }; export type TimerSubscriber = (_data: TimerData) => any; export declare class Timer extends Future implements TimerData { last: number; interval: number; timeout: ReturnType; iterations: number; subscribers: Set; guard: TimerData; constructor(interval: bigint | number | unknown); call(): Promise; check: (recheck?: boolean) => void; clear: () => void; reset(now?: number): void; subscribe(callback: TimerSubscriber): () => boolean; then( onfulfilled?: | ((value: TimerData) => TResult1 | PromiseLike) | null | undefined, onrejected?: | ((reason: any) => TResult2 | PromiseLike) | null | undefined ): Future; } export default Timer;