export type SessionInboxDelivery = 'steer' | 'queue'; export interface SessionInboxEntry { readonly id: string; readonly prompt: string; readonly delivery: SessionInboxDelivery; readonly admittedSeq: number; promotedSeq?: number; readonly metadata?: Readonly>; } export interface SessionInboxAdmitInput { readonly id?: string; readonly prompt: string; readonly delivery?: SessionInboxDelivery; readonly metadata?: Readonly>; } export declare class SessionInboxConflictError extends Error { readonly entryId: string; constructor(entryId: string); } export declare class SessionInbox { private readonly entries; private admittedCounter; private promotedCounter; static readonly MAX_ENTRIES = 500; admit(input: SessionInboxAdmitInput): SessionInboxEntry; pending(): readonly SessionInboxEntry[]; promotableSteers(): readonly SessionInboxEntry[]; nextQueued(): SessionInboxEntry | undefined; promote(id: string): SessionInboxEntry; hasPendingWork(): boolean; private pruneIfNeeded; toEntries(): SessionInboxEntry[]; static fromEntries(entries: readonly SessionInboxEntry[]): SessionInbox; } //# sourceMappingURL=session-inbox.d.ts.map