export type PiRuntimeMode = "tui" | "rpc" | "json" | "print"; import type { ReceiverLeaseAcquireResult } from "./receiver-lease.js"; export interface InboxRuntimeStatus { readonly receiver: "dormant" | "send-only" | "receiving"; readonly watch: "stopped" | "recovering" | "watching" | "backoff" | "disabled"; readonly receiverGeneration: string | null; readonly backoffAttempt: number; readonly nextBackoffMs: number | null; readonly lastError: string | null; readonly staged: { readonly urgent: number; readonly normal: number; readonly low: number; }; } export type InboxStatusProjection = { readonly surface: "tui"; readonly text: string; readonly value: InboxRuntimeStatus; } | { readonly surface: "rpc"; readonly value: InboxRuntimeStatus; } | { readonly surface: "none"; }; export type ReceiverLeaseRuntimeDisposition = { readonly mode: "receiving"; readonly generation: string; } | { readonly mode: "send-only"; readonly diagnostic: string; }; export declare class InboxStatusStore { #private; snapshot(): InboxRuntimeStatus; update(update: Partial): void; subscribe(listener: (status: InboxRuntimeStatus) => void): () => void; } export declare function projectInboxStatus(mode: PiRuntimeMode, status: InboxRuntimeStatus): InboxStatusProjection; export declare function runInboxForMode(mode: PiRuntimeMode, pump: { run(signal?: AbortSignal): Promise; }, status: InboxStatusStore, signal?: AbortSignal): Promise<{ readonly kind: "send-only"; } | { readonly kind: "completed"; }>; export declare function receiverLeaseRuntimeDisposition(result: ReceiverLeaseAcquireResult): ReceiverLeaseRuntimeDisposition; //# sourceMappingURL=runtime-status.d.ts.map