/**
 * @module queue/state
 *
 * In-memory state for the follow-up message queue. Each session key maps to a
 * {@link FollowupQueueState} that tracks pending messages, drain status,
 * debounce/cap settings, and drop summaries. Queues are ephemeral (lost on restart).
 */
import type { FollowupRun, QueueDropPolicy, QueueMode, QueueSettings } from "./types.js";
export type FollowupQueueState = {
    items: FollowupRun[];
    draining: boolean;
    lastEnqueuedAt: number;
    mode: QueueMode;
    debounceMs: number;
    cap: number;
    dropPolicy: QueueDropPolicy;
    droppedCount: number;
    summaryLines: string[];
    lastRun?: FollowupRun["run"];
};
export declare const DEFAULT_QUEUE_DEBOUNCE_MS = 1000;
export declare const DEFAULT_QUEUE_CAP = 20;
export declare const DEFAULT_QUEUE_DROP: QueueDropPolicy;
export declare const FOLLOWUP_QUEUES: Map<string, FollowupQueueState>;
export declare function getFollowupQueue(key: string, settings: QueueSettings): FollowupQueueState;
export declare function clearFollowupQueue(key: string): number;
