import type { StreamConnectionState, WorkspaceControlEvent, WorkspaceInteractionRevisionEvent, WorkspaceSessionListEvent } from "@opengeni/sdk"; import type { EmbeddedFileAttachmentClientLike, EmbeddedGoalClientLike, EmbeddedHumanInputSessionClientLike, EmbeddedBrowserInteractionClientLike, EmbeddedComputerInteractionClientLike, EmbeddedInteractionClientLike, EmbeddedInterventionClientLike, EmbeddedRealtimeSessionClientLike, EmbeddedSessionClientLike, EmbeddedSessionLineageClientLike, EmbeddedSessionMcpApprovalPolicyClientLike, EmbeddedSessionReadClientLike, SessionClientLike } from "./client.js"; export type OpenGeniContextValue = { client: SessionClientLike; workspaceId: string; workspaceControlEvent: WorkspaceControlEvent | null; workspaceControlConnectionState: StreamConnectionState | "idle" | "error"; workspaceInteractionEvent: WorkspaceInteractionRevisionEvent | null; workspaceInteractionConnectionState: StreamConnectionState | "idle" | "error"; /** Absent on older/custom hosts: retain the existing polling fallback. */ workspaceSessionListEvent?: WorkspaceSessionListEvent | null; registerSessionReconciler: (sessionId: string, key: string, reconcile: () => Promise) => () => void; /** * Repair every registered projection of a session when its live stream * (re)opens. `initialOpen` marks the first open after a fresh tail load, when * each projection was just read alongside that tail: only the API-contract * check runs then. */ reconcileSession: (sessionId: string, options?: { initialOpen?: boolean | undefined; }) => Promise; }; export declare const OpenGeniContext: import("react").Context; export type ClientOverride = { client?: SessionClientLike | undefined; workspaceId?: string | undefined; }; export type EmbeddedSessionClientOverride = { client?: EmbeddedSessionClientLike | undefined; workspaceId?: string | undefined; }; export type EmbeddedHumanInputClientOverride = { client?: EmbeddedHumanInputSessionClientLike | undefined; workspaceId?: string | undefined; }; export type EmbeddedSessionMcpApprovalPolicyClientOverride = { client?: EmbeddedSessionMcpApprovalPolicyClientLike | undefined; workspaceId?: string | undefined; }; export type EmbeddedSessionReadClientOverride = { client?: EmbeddedSessionReadClientLike | undefined; workspaceId?: string | undefined; }; export type EmbeddedRealtimeSessionClientOverride = { client?: EmbeddedRealtimeSessionClientLike | undefined; workspaceId?: string | undefined; }; export type EmbeddedGoalClientOverride = { client?: EmbeddedGoalClientLike | undefined; workspaceId?: string | undefined; }; export type EmbeddedSessionLineageClientOverride = { client?: EmbeddedSessionLineageClientLike | undefined; workspaceId?: string | undefined; }; export type EmbeddedFileAttachmentClientOverride = { client?: EmbeddedFileAttachmentClientLike | undefined; workspaceId?: string | undefined; }; export type EmbeddedInteractionClientOverride = { client?: EmbeddedInteractionClientLike | undefined; workspaceId?: string | undefined; }; export type EmbeddedInterventionClientOverride = { client?: EmbeddedInterventionClientLike | undefined; workspaceId?: string | undefined; }; export type EmbeddedBrowserInteractionClientOverride = { client?: EmbeddedBrowserInteractionClientLike | undefined; workspaceId?: string | undefined; }; export type EmbeddedComputerInteractionClientOverride = { client?: EmbeddedComputerInteractionClientLike | undefined; workspaceId?: string | undefined; }; export type EmbeddedSessionContextValue = Omit & { client: EmbeddedSessionClientLike; }; type EmbeddedClientContextValue = Omit & { client: TClient; }; /** Resolve client + workspace from explicit overrides or the provider. */ export declare function useOpenGeni(override?: ClientOverride): OpenGeniContextValue; /** Resolve only the workspace-wide Browser/Computer intervention surface. */ export declare function useEmbeddedInterventions(override?: EmbeddedInterventionClientOverride): EmbeddedClientContextValue; /** Resolve only BrowserSession methods for a standalone Browser embed. */ export declare function useEmbeddedBrowserInteraction(override?: EmbeddedBrowserInteractionClientOverride): EmbeddedClientContextValue; /** Resolve only ComputerSession methods for a standalone Computer embed. */ export declare function useEmbeddedComputerInteraction(override?: EmbeddedComputerInteractionClientOverride): EmbeddedClientContextValue; /** Resolve the complete Browser + Computer client surface. */ export declare function useEmbeddedInteraction(override?: EmbeddedInteractionClientOverride): EmbeddedClientContextValue; /** * Resolve the narrow client required by the session-only hooks. The full * provider client is structurally compatible, while an explicit host proxy * only needs to expose session/event/composer/queue/control operations. */ export declare function useEmbeddedSession(override?: EmbeddedSessionClientOverride): EmbeddedSessionContextValue; /** Resolve the exact client surface required by `useSession`. */ export declare function useEmbeddedSessionRead(override?: EmbeddedSessionReadClientOverride): EmbeddedClientContextValue; /** Resolve the exact client surface required by `useGoal`. */ export declare function useEmbeddedGoal(override?: EmbeddedGoalClientOverride): EmbeddedClientContextValue; /** Resolve the exact client surface required by `useSessionLineage`. */ export declare function useEmbeddedSessionLineage(override?: EmbeddedSessionLineageClientOverride): EmbeddedClientContextValue; /** Resolve the exact client surface required by `useFileAttachments`. */ export declare function useEmbeddedFileAttachments(override?: EmbeddedFileAttachmentClientOverride): EmbeddedClientContextValue; /** * Resolve the structured-input refinement without widening the baseline * session-only proxy contract. */ export declare function useEmbeddedHumanInputSession(override?: EmbeddedHumanInputClientOverride): Omit & { client: EmbeddedHumanInputSessionClientLike; }; /** Resolve the approval-policy refinement without widening session-only hosts. */ export declare function useEmbeddedSessionMcpApprovalPolicy(override?: EmbeddedSessionMcpApprovalPolicyClientOverride): Omit & { client: EmbeddedSessionMcpApprovalPolicyClientLike; }; /** Resolve the exact browser/API surface required by `@opengeni/react/realtime`. */ export declare function useEmbeddedRealtimeSession(override?: EmbeddedRealtimeSessionClientOverride): EmbeddedClientContextValue; /** * Resolve the client only — for hooks that are not workspace-scoped * (`useWorkspaces`, `useBillingUsage`). */ export declare function useOpenGeniClient(override?: Pick): SessionClientLike; export {};