type ProxyRuntimeMode = 'oauth-first' | 'oauth-burst' | 'api-first'; interface ProxyModeMarker { mode: ProxyRuntimeMode; updatedAt: number; /** Why the last transition happened. Useful for `claude switch status` * diagnostics and for the statusline tooltip later. Free-form. */ lastReason?: string; /** Optional: pid of the proxy process. Lets a future cleaner detect * zombie markers from crashed proxies — not used today. */ pid?: number; } /** * How long after the last `updatedAt` we still trust the marker. Beyond this * the proxy is almost certainly dead and we should fall back to the * persistent flag rather than show stale info. Generous default — the * proxy writes on every transition, but a quiet session might go minutes * between writes (no transitions happen on silent successful OAuth requests * because `recordOauthSuccess` only writes when it's changing state). */ export declare const PROXY_MODE_STALE_MS: number; /** * Write the marker. Best-effort: failures are swallowed (telemetry must * never cascade into a request error). Atomic write so a partial file * can't be observed by a concurrently-running statusline read. */ export declare function writeProxyMode(accountsDirPath: string, mode: ProxyRuntimeMode, lastReason?: string): void; /** * Delete the marker. Called from proxy `close()` so the statusline knows * the proxy is no longer running. */ export declare function clearProxyMode(accountsDirPath: string): void; export declare function readProxyMode(accountsDirPath: string): ProxyModeMarker | null; export {};