import { Database } from "./database"; export interface TimerOptions { jobIsJson: boolean; } export declare const DEFAULT_TIMER_OPTIONS: TimerOptions; export declare class TimedJob { expires: number; id: string; created: number; job: J; private timer; constructor(expires: number, id: string, created: number, job: J, timer: Timer); delete(): void; } export declare class Timer { db: Database; private options; private waiting; private singleTimer; currentLatency: number; private running; private stayAlive; constructor(db: Database, options?: Partial); close(): void; private keepAlive; get timerCount(): number; get idleWorkerCount(): number; addAt(expires: number, job: J): TimedJob; add(timeout: number, job: J): TimedJob; _delete(timer: TimedJob, scanForNext?: boolean): void; getNext(): Promise>; jobs(): AsyncIterable>; peekNext(): TimedJob | undefined; pipeTo(sink: (job: TimedJob) => void, continuing?: boolean): void; private check; }