type QueueWorker = {
    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 type CreateQueueWorkerOptions<TPayload> = {
    kindLabel: string;
    defaultQueueName: string;
    maxAttempts: number;
    getLogFields: (payload: TPayload) => Record<string, unknown>;
    handle: (payload: TPayload) => Promise<void>;
};
export declare function createQueueWorker<TPayload>(options: CreateQueueWorkerOptions<TPayload>): QueueWorker;
export {};
//# sourceMappingURL=createQueueWorker.d.ts.map