import type { AgentInternalEvent } from "./internal-events.js"; import { type QueueDropPolicy, type QueueMode } from "../auto-reply/reply/queue.js"; import { type DeliveryContext } from "../utils/delivery-context.js"; export type AnnounceQueueItem = { announceId?: string; prompt: string; summaryLine?: string; internalEvents?: AgentInternalEvent[]; enqueuedAt: number; sessionKey: string; origin?: DeliveryContext; originKey?: string; sourceSessionKey?: string; sourceChannel?: string; sourceTool?: string; }; export type AnnounceQueueSettings = { mode: QueueMode; debounceMs?: number; cap?: number; dropPolicy?: QueueDropPolicy; }; export declare function resetAnnounceQueuesForTests(): void; export declare function enqueueAnnounce(params: { key: string; item: AnnounceQueueItem; settings: AnnounceQueueSettings; send: (item: AnnounceQueueItem) => Promise; }): boolean;