/**
 * Queue Configuration
 * Background job and message queue settings
 * Sealed namespace for immutability
 */
import type { QueueConfigWithDrivers, QueueDriverName, QueueDriversConfig } from './type';
export type QueueConfigOverrides = Partial<{
    default: QueueDriverName;
    drivers: Partial<QueueDriversConfig>;
    failed: {
        database: string;
        table: string;
    };
    processing: {
        timeout: number;
        retries: number;
        backoff: number;
        workers: number;
    };
    monitor: {
        enabled: boolean;
        basePath: string;
        middleware: ReadonlyArray<string>;
        autoRefresh: boolean;
        refreshIntervalMs: number;
    };
}>;
/**
 * Helper: Create base driver configurations from environment
 */
export declare const createBaseDrivers: () => QueueDriversConfig;
declare const createQueueConfig: () => {
    default: QueueDriverName;
    drivers: QueueDriversConfig;
    getDriver: (driverConfig: QueueConfigWithDrivers) => QueueDriversConfig[QueueDriverName];
    failed: {
        database: string;
        table: string;
    };
    processing: {
        timeout: number;
        retries: number;
        backoff: number;
        workers: number;
    };
    monitor: {
        enabled: boolean;
        basePath: string;
        middleware: ReadonlyArray<string>;
        autoRefresh: boolean;
        refreshIntervalMs: number;
    };
};
export type QueueConfig = ReturnType<typeof createQueueConfig>;
export declare const queueConfig: QueueConfig;
export {};
//# sourceMappingURL=queue.d.ts.map