import type { Job } from '../../packages/workers/src/index.js';
export type EmailJobPayload = {
    to: string;
    subject: string;
    body?: string;
    template?: string;
    templateData?: Record<string, unknown>;
};
export declare const EmailWorker: {
    processOne: (queueName?: string, driverName?: string) => Promise<boolean>;
    processAll: (queueName?: string, driverName?: string) => Promise<number>;
    runOnce: (opts?: {
        queueName?: string;
        driverName?: string;
        maxItems?: number;
        maxDurationMs?: number;
    }) => Promise<number>;
    startWorker: (opts?: {
        queueName?: string;
        driverName?: string;
        signal?: AbortSignal;
        maxDurationMs?: number;
    }) => Promise<number>;
    __zintrustQueueWorkerMeta?: Readonly<{
        kindLabel: string;
        defaultQueueName: string;
        maxAttempts: number;
    }>;
};
export declare const EmailQueue: {
    add(payload: EmailJobPayload, queueName?: string): Promise<string>;
    processOne(queueName?: string): Promise<boolean>;
    processAll(queueName?: string): Promise<number>;
    start(queueName?: string): Promise<void>;
};
export { EmailWorker as EmailWorkerInstance };
export default function emailJobProcessor(job: Job<EmailJobPayload>): Promise<void>;
export declare const ZinTrustProcessor: (job: Job<EmailJobPayload>) => Promise<void>;
//# sourceMappingURL=EmailWorker.d.ts.map