import type { CodeModeDelegateRuntime } from "../code-mode/delegate-runtime.ts"; import type { NotebookRuntimeOptions } from "../code-mode/shared-runtime.ts"; import type { NotebookCell } from "../notebook-mode/cell.ts"; import { TsExecutionWorker } from "./execution-worker.ts"; import { type TsImportOptions } from "./imports.ts"; import type { BindingRecipe, PortableCapture, PortableState } from "./portable-state.ts"; import type { TsWorkerInput, TsWorkerOutcome } from "./worker-protocol.ts"; export interface TsExecution { cell: NotebookCell; start: PortableState; isolated: boolean; worker?: TsExecutionWorker | undefined; imports: TsImportOptions; usedImports: Set; done: Promise; stop?: Promise | undefined; } export declare const MAX_TS_WORKERS = 4; /** Owns live-kernel failure/recovery and each cell's worker cancellation. */ export declare class TsSessionKernel { private kernel; private kernelUnavailable; private restoreFailed; private readonly options; constructor(options: NotebookRuntimeOptions); get hasWorker(): boolean; get unavailable(): boolean; get failedRestores(): string[] | undefined; recordOutcome(outcome: TsWorkerOutcome): void; launch(execution: TsExecution, input: TsWorkerInput, delegate: CodeModeDelegateRuntime): Promise; stop(execution: TsExecution, delegate: CodeModeDelegateRuntime): Promise; capture(input: TsWorkerInput, cwd: string, bindings: Record | undefined, resolveImport: (name: string) => Promise): Promise; restoreAdditions(input: TsWorkerInput, restore: PortableState, resolveImport: (name: string) => Promise): Promise; reset(): Promise; }