import type { ExtensionContext } from "@earendil-works/pi-coding-agent"; export type SessionUiStatusState = "ok" | "reconnecting" | "error" | "off"; export interface SessionUiRuntimeDeps { getAgentName: () => string; getAgentEmoji: () => string; getInboxLength: () => number; drainInbox: () => void; } export interface SessionUiRuntime { getExtensionContext: () => ExtensionContext | null; setExtCtx: (ctx: ExtensionContext) => void; updateBadge: () => void; setExtStatus: (ctx: ExtensionContext, state: SessionUiStatusState) => void; notePotentialInterruptInput: (data: string) => void; shouldSuppressAutomaticInboxDrain: (now?: number) => boolean; maybeDrainInboxIfIdle: (ctx?: ExtensionContext) => boolean; prepareForSessionStart: (ctx: ExtensionContext) => void; cleanupForSessionShutdown: () => void; } export declare function createSessionUiRuntime(deps: SessionUiRuntimeDeps): SessionUiRuntime;