import type { SessionControlResponse, SessionEvent } from "@opengeni/sdk"; import { type EmbeddedSessionClientOverride } from "../session-context.js"; export type UseSessionControlOptions = EmbeddedSessionClientOverride; export type UseSessionControlResult = { pause: (reason?: string) => Promise; resume: (reason?: string) => Promise; controlling: boolean; /** Approve a pending `requires_action` approval. */ approve: (approvalId: string, message?: string) => Promise; /** Reject a pending `requires_action` approval. */ reject: (approvalId: string, message?: string) => Promise; /** True while an approval decision is in flight. */ responding: boolean; error: Error | null; clearError: () => void; }; /** * Session pause/resume and approval decisions. Pair with * `useSessionEvents` (for `session.requiresAction` payloads carrying the * `approvalId`) to render an approval bar. */ export declare function useSessionControl(sessionId: string | null | undefined, options?: UseSessionControlOptions): UseSessionControlResult;