import { type ReactNode } from "react"; import type { Session } from "@opengeni/sdk"; export declare const SESSION_STARTUP_GRACE_MS = 60000; export type SessionStartupSource = Pick; export type SessionStartup = "starting" | "delayed" | "retrying" | null; /** Presentation only: queued is durable admission, not proof of execution. */ export declare function sessionStartupPhase(session: SessionStartupSource, elapsedMs: number): SessionStartup; /** Bound the quiet phase per queued episode, including reload/reconnect. * Polling updatedAt must not continually restart the clock. On a fresh mount, * the durable timestamp can shorten (never lengthen) the local grace period. */ type StartupState = { phase: SessionStartup; startedAt: string; }; /** One clock inside the authorized shell; actor/workspace unmount clears it. */ export declare function SessionStartupProvider({ session, children, }: { session: SessionStartupSource | null; children: ReactNode; }): import("react").FunctionComponentElement>; export declare function useSessionStartup(session: SessionStartupSource): SessionStartup; export declare function useSessionStartupState(session: SessionStartupSource | null): StartupState | null; export {};