import type { QueueAdapter } from "./queue-adapters/base.adapter"; import type { Context } from "./trpc"; export type QueueRegistryEntry = { adapter: QueueAdapter; jobName?: (data: Record) => string; }; export type QueueDiscoveryStatus = { discoveredCount: number; enabled: boolean; healthy: boolean; lastAttemptAt?: number; lastErrorAt?: number; lastSuccessfulRefreshAt?: number; truncated: boolean; }; export declare const normalizeDiscoveryRefreshInterval: (value?: number) => number; export declare const normalizeDiscoveryMaxQueues: (value?: number) => number; export declare const getQueueNameFromMarker: (key: string, prefix: string, marker?: string) => string | null; export declare class QueueRegistry { private readonly ctx; private readonly discovery?; private readonly entries; private readonly entriesByQueue; private discoveredQueues; private pendingCleanupQueues; private lastRefreshAt; private refreshPromise?; private lastAttemptAt?; private lastError?; private lastErrorAt?; private lastSuccessfulRefreshAt?; private truncated; private scanCursor; private scanQueueNames; private scanOverflow; private closePromise?; private closing; constructor(ctx: Context); private get staticQueues(); list(): Promise; close(): Promise; getDiscoveryStatus(): QueueDiscoveryStatus; private getEntry; private refreshDiscoveredQueues; private discover; } export declare const getQueueRegistry: (ctx: Context) => QueueRegistry; /** * Closes Redis clients created by queue discovery for a dashboard context. * User-provided static queue instances remain owned by the host application. */ export declare const closeQueuedashContext: (ctx: Context) => Promise; //# sourceMappingURL=queue-registry.d.ts.map