import type { CommandContext } from './types'; export type IDLEEvent = { type: 'exists'; count: number; prevCount: number; } | { type: 'expunge'; seq: number; } | { type: 'fetch'; seq: number; flags?: Set; modseq?: bigint; }; export type IDLEOptions = { readonly timeout?: number; }; export type IDLEContext = CommandContext & { idling: boolean; preCheck: (() => Promise) | false; currentLock?: { lockId: string; }; currentSelectCommand?: { command: string; arguments: unknown[]; }; missingIdleCommand?: 'SELECT' | 'STATUS' | 'NOOP'; }; type IDLEController = { stop: () => void; events: AsyncGenerator; }; export declare const idle: (ctx: IDLEContext, options?: IDLEOptions) => IDLEController; export type { IDLEContext as IdleContext, IDLEController, IDLEOptions as IdleOptions }; //# sourceMappingURL=idle.d.ts.map