declare const QUERIES: { readonly AddQueue: "insert into queue (id, created, job, return_address) values (@id, @created, @job, @return_address)"; readonly DeleteQueue: "delete from queue where id = @id"; readonly GetNextBatch: "select * from queue where id > @cursor order by id limit @count"; readonly GetQueueCount: "select count(*) as count from queue"; readonly GetLastQueue: "select * from queue order by id desc limit 1"; readonly AddTimer: "insert into timer (expires, id, created, job) values (@expires, @id, @created, @job)"; readonly DeleteTimer: "delete from timer where expires = @expires and id = @id"; readonly GetNextTimer: "select * from timer order by expires limit 1"; readonly GetTimerCount: "select count(*) as count from timer"; }; export type QueryKey = keyof typeof QUERIES; interface QueueItem { id: number; created: number; job: string; return_address?: string; } interface Timer { expires: number; id: string; created: number; job: string; } export declare class Database { private db; private statements; constructor(filename: string); close(): void; vacuum(): void; addQueue(id: number, created: number, job: string, returnAddress?: string): void; deleteQueue(id: number): boolean; getNextBatch(cursor: number, count: number): QueueItem[]; getQueueCount(): number; getLastQueue(): QueueItem | undefined; addTimer(expires: number, id: string, created: number, job: string): void; deleteTimer(expires: number, id: string): void; getNextTimer(): Timer | undefined; getTimerCount(): number; } export {};