import type { Job } from '@pondoknusa/queue'; import type { Event } from './types.js'; import { Listener } from './types.js'; import type { ListenerConstructor } from './types.js'; import type { ShouldQueue } from './types.js'; export interface QueuedListenerMetadata { connection?: string; queue?: string; delaySeconds?: number; } export type QueuedListenerConstructor = ListenerConstructor & { shouldQueue: true; } & QueuedListenerMetadata; export declare abstract class QueuedListener extends Listener implements ShouldQueue { readonly shouldQueue: true; static shouldQueue: true; static connection?: string; static queue?: string; static delaySeconds?: number; } export declare function listenerShouldQueue(constructor: ListenerConstructor): constructor is QueuedListenerConstructor; export declare function resolveQueuedListenerMetadata(constructor: QueuedListenerConstructor, defaults?: QueuedListenerMetadata & { connection?: string; }): { connection: string; queue: string; delaySeconds: number; }; export declare function buildCallQueuedListenerJob(constructor: QueuedListenerConstructor, event: Event, defaults?: QueuedListenerMetadata & { connection?: string; }): { job: Job; metadata: ReturnType; }; //# sourceMappingURL=should-queue.d.ts.map