import type Database from 'better-sqlite3';
import type { SesClient } from './ses-client.js';
export interface EmailQueueWorkerConfig {
    db: Database.Database;
    ses: SesClient;
    rateLimit: number;
    jwtSecret: string;
    serverUrl: string;
    broadcast?: (message: Record<string, unknown>) => void;
}
export declare class EmailQueueWorker {
    private db;
    private ses;
    private rateLimit;
    private jwtSecret;
    private serverUrl;
    private broadcast?;
    private interval;
    private running;
    private tickCount;
    constructor(config: EmailQueueWorkerConfig);
    start(): void;
    stop(): void;
    recover(): void;
    tick(): Promise<void>;
}
//# sourceMappingURL=email-queue-worker.d.ts.map