export type OutboxKind = 'chat_message' | 'silent_exit_comment' | 'dispatch_ack' | 'command_ack' | 'cli_login_progress'; export type OutboxSendOutcome = 'ok' | 'retryable' | 'permanent'; export type OutboxSender = (payload: any) => Promise; export interface OutboxEntry { id: string; kind: OutboxKind; enqueued_at_ms: number; attempts: number; payload: any; } export declare const OUTBOX_MAX_AGE_MS: Record; export declare const OUTBOX_MAX_ENTRIES = 500; export declare const OUTBOX_MAX_ATTEMPTS = 50; export interface MessageOutboxOptions { persistPath?: string | null; now?: () => number; log?: (msg: string) => void; } export declare class MessageOutbox { #private; constructor(opts?: MessageOutboxOptions); setSenders(senders: Partial>): void; get size(): number; snapshot(): OutboxEntry[]; load(): void; enqueue(kind: OutboxKind, payload: unknown): void; flush(reason: string): Promise; }