import type { NotebookRuntimeOptions } from "../code-mode/shared-runtime.ts"; import type { NotebookControlRequest, NotebookControlResult } from "../code-mode/types.ts"; import { JsKernel } from "./kernel.ts"; import type { JsOutcome, JsSnapshot, JsTool } from "./protocol.ts"; /** Owns the live heap and its durable project image; the client owns scheduling. */ export declare class JsNotebookProject { private storage; private dataStorage; private observedProject; private pins; private projectWarning; private durable; private dirty; private migrationNotice; private kernel; private runtime; private runtimeAbort; private unavailable; private startupError; private heapBytes; private latestTools; private bindings; private inventoryComplete; private hooks; private readonly options; constructor(options: NotebookRuntimeOptions); get stopped(): boolean; get error(): string | undefined; recordStartupError(error: unknown): void; get warning(): string | undefined; get snapshot(): JsSnapshot | undefined; isolationBaseline(): Promise; get startupAborted(): boolean; startupSignal(signal?: AbortSignal): AbortSignal; abortStartup(): void; renewStartup(): void; setTools(tools: JsTool[]): void; invalidate(): void; takeMigrationNotice(): string | undefined; withLock(operation: () => Promise, signal?: AbortSignal): Promise; get available(): boolean; hasDataProfile(name: string): Promise; list(query?: string): Promise; private createKernel; bindStorage(cwd: string, identity: string): void; initialize(inspectionOnly: boolean, signal?: AbortSignal): Promise; close(): Promise; inspect(signal?: AbortSignal): Promise; restart(reset: boolean, signal: AbortSignal | undefined, retryStartup: () => void): Promise; control(request: NotebookControlRequest, signal?: AbortSignal): Promise; refreshProject(signal?: AbortSignal): Promise; private requireStorage; private requireDataStorage; private liveBudget; status(activeCells: string[], query?: string): NotebookControlResult; private recordInventory; capture(): Promise; private liveSnapshot; private mutate; private restoreInitial; commit(result: JsOutcome, sync?: boolean): Promise; private syncProject; private managedResult; cellKernel(isolated: boolean, maxCells: number, signal: AbortSignal, baseline?: JsSnapshot): Promise; adoptLiveKernel(kernel: JsKernel): void; recordCell(result: JsOutcome): void; saveCandidate(snapshot: JsSnapshot, name: string, baseline?: JsSnapshot): Promise; }