import type { ComputerSession, ComputerSessionMutationResponse, CreateComputerSessionRequest } from "@opengeni/sdk/interaction"; import type { EmbeddedComputerInteractionClientLike } from "../client.js"; import { type EmbeddedComputerInteractionClientOverride } from "../session-context.js"; export type UseComputerSessionsOptions = EmbeddedComputerInteractionClientOverride & { /** Current agent/session relevance. Workspace peers remain in `sessions`. */ sessionId?: string | undefined; enabled?: boolean | undefined; /** Polling fallback used only while the workspace invalidation stream is unavailable. */ pollIntervalMs?: number | undefined; }; export type UseComputerSessionsResult = { revision: number; sessions: ComputerSession[]; relevantSessions: ComputerSession[]; loading: boolean; refreshing: boolean; error: Error | null; refresh: () => Promise; create: (request: Omit & { operationId?: string; }) => Promise; end: (computerSessionId: string, operationId?: string) => Promise; }; /** Workspace-wide ComputerSession registry. Associations rank relevance but * never hide peer resources or create an ownership boundary. */ export declare function useComputerSessions(options?: UseComputerSessionsOptions): UseComputerSessionsResult; /** Exported for narrow proxy implementations and tests. */ export type ComputerSessionsClient = EmbeddedComputerInteractionClientLike;