/** * Platform-neutral tunnel helpers shared by the web-sdk tunnel hooks and the * desktop landing page (which consumes the daemon through the generated * `@ottocode/api` client without react-query). */ /** Query/body payload for the managed remote-control (whole daemon) tunnel. */ export declare const MANAGED_REMOTE_CONTROL: { readonly mode: "managed"; readonly scope: "remote-control"; }; export type RawTunnelStatus = 'idle' | 'starting' | 'connected' | 'error'; /** * Smooths daemon race windows where the process is already running but the * URL is not published yet (or vice versa) so the UI never flashes idle * mid-startup. */ export declare function normalizeTunnelStatus(data: { status: RawTunnelStatus; url: string | null; isRunning?: boolean; }): RawTunnelStatus; /** * Converts tunnel start/stop response bodies into readable messages — * typed codes such as `ottorouter_not_connected` become actionable text, * never a raw serialized error. */ export declare function describeTunnelActionError(payload: unknown): string; //# sourceMappingURL=tunnel-shared.d.ts.map