import type { BrowserDownload, BrowserDownloadSaveResponse } from "@opengeni/sdk/interaction"; import type { EmbeddedBrowserInteractionClientLike } from "../client.js"; import { type EmbeddedBrowserInteractionClientOverride } from "../session-context.js"; export type UseBrowserDownloadsOptions = EmbeddedBrowserInteractionClientOverride & { browserSessionId: string | null; enabled?: boolean | undefined; pollIntervalMs?: number | undefined; }; export type BrowserDownloadSaveOptions = { operationId?: string | undefined; overwrite?: boolean | undefined; }; export type UseBrowserDownloadsResult = { downloads: BrowserDownload[]; loading: boolean; refreshing: boolean; savingDownloadIds: string[]; error: Error | null; refresh: () => Promise; saveToWorkspace: (downloadId: string, destinationPath: string, options?: BrowserDownloadSaveOptions) => Promise; }; /** Exact browser-produced files for one BrowserSession. Bytes remain private * until `saveToWorkspace` performs the canonical workspace mutation. */ export declare function useBrowserDownloads(options: UseBrowserDownloadsOptions): UseBrowserDownloadsResult; export type BrowserDownloadsClient = EmbeddedBrowserInteractionClientLike;