/**
 * Pure REST handlers for `/api/sessions/:sessionId/queue/*`.
 *
 * Same contract as sessions/projects handlers — pure functions that take
 * `store` + `manager` dependencies, throw `BadRequestError`/`NotFoundError`
 * on invalid input, and return typed responses.
 *
 * After mutating the queue, each handler calls `manager.pushQueueState()`
 * to broadcast the updated queue to all subscribers via `queue_changed`.
 */
import type { SessionStreamManager } from "../session-stream.js";
import type { SessionStore } from "../storage.js";
export interface EnqueuePromptInputRaw {
    content?: unknown;
}
/** Wire shape for a single queue item returned to the frontend. */
export interface WireQueueItem {
    id: string;
    content: string;
    position: number;
    createdAt: string;
}
export declare function handleEnqueuePrompt(store: SessionStore, manager: SessionStreamManager, sessionId: string, body: EnqueuePromptInputRaw): WireQueueItem;
export declare function handleGetPromptQueue(store: SessionStore, sessionId: string): WireQueueItem[];
export declare function handleRemovePrompt(store: SessionStore, manager: SessionStreamManager, sessionId: string, itemId: string): void;
export declare function handleClearPromptQueue(store: SessionStore, manager: SessionStreamManager, sessionId: string): void;
//# sourceMappingURL=queue.d.ts.map