import type { AgentInboxCompletion, AgentInboxEntry, AgentInboxItem, AgentInboxSteering } from "./agentTypes.js"; /** * AgentInbox is a single-consumer queue for agent work items. * Expects: only one agent attaches to an inbox at a time. */ export declare class AgentInbox { readonly agentId: string; private items; private waiters; private attached; private steeringMessage; constructor(agentId: string); attach(): void; detach(): void; post(item: AgentInboxItem, completion?: AgentInboxCompletion | null, options?: AgentInboxPostOptions): AgentInboxEntry; private mergePendingMessage; next(): Promise; size(): number; listPending(): AgentInboxEntry[]; /** * Removes and returns all queued inbox entries. * Expects: caller owns synchronization for queue mutation. */ drainPending(): AgentInboxEntry[]; /** * Store a steering message. Replaces any previous steering message. */ steer(item: AgentInboxSteering): void; /** * Returns and clears the current steering message. */ consumeSteering(): AgentInboxSteering | null; /** * Check if there is a pending steering message. */ hasSteering(): boolean; } type AgentInboxPostOptions = { id?: string; postedAt?: number; merge?: boolean; }; export {}; //# sourceMappingURL=agentInbox.d.ts.map