import { type DraftStore } from '../../../authoring/index.ts'; import { type CaptureSession } from '../../../cdp/capture.ts'; import { type RegisteredTool } from '../../server.ts'; import type { AttachState } from './attach.ts'; /** * One capture == a session (network requests) + the tab CDP client it runs on + * a draft store. Bundling the tab client is what lets the shared authoring * tools treat a `captureId` as a full session (drive the browser AND read * capture AND hold drafts) behind one id. */ export interface CaptureEntry { session: CaptureSession; tabClient: Awaited>; drafts: DraftStore; } export interface CaptureStore { sessions: Map; activeTab?: string; } export declare function resetCaptures(captures: CaptureStore): Promise; export declare function captureTools(attachRef: { current?: AttachState; }, captures: CaptureStore): RegisteredTool[];