import type { SessionEvent, SessionHumanInputRequest, SubmitHumanInputResponseRequest } from "@opengeni/sdk"; import { type EmbeddedHumanInputClientOverride } from "../session-context.js"; import { type SessionEventFeedOptions } from "./internal.js"; /** Events that can create, settle, or invalidate an actionable request. */ export declare function isHumanInputEvent(event: Pick): boolean; export type UseHumanInputRequestsOptions = EmbeddedHumanInputClientOverride & SessionEventFeedOptions & { /** Optional safety-net polling. Durable events drive refresh by default. */ pollIntervalMs?: number | undefined; }; export type UseHumanInputRequestsResult = { requests: SessionHumanInputRequest[]; loading: boolean; error: Error | null; refresh: () => Promise; respond: (requestId: string, response: SubmitHumanInputResponseRequest) => Promise; respondingRequestId: string | null; mutationError: Error | null; clearMutationError: () => void; }; /** * Authoritative structured-human-input hook. The server's pending-request * table is the read model; events only trigger reconciliation. This lets an * embedded host use the same primitive with a shared event feed or its own SDK * proxy without rebuilding request lifecycle logic. */ export declare function useHumanInputRequests(sessionId: string | null | undefined, options?: UseHumanInputRequestsOptions): UseHumanInputRequestsResult;