import type { NotebookControlRequest, NotebookControlResult } from "../code-mode/types.ts"; import { type BindingRecipe, type PortableCapture, type PortableState } from "./portable-state.ts"; import type { TsStateStorage } from "./state-storage.ts"; export interface TsLifecycleHost { state(): PortableState; capture(bindings?: Record): Promise; validateCheckpoint(name: string, checkpoint: NonNullable): Promise; storage(): TsStateStorage; activeCells(): string[]; commit(state: PortableState, action?: NotebookControlRequest["action"] | "adopt", released?: string[]): Promise; syncProject(): Promise; restart(): Promise; reset(): Promise; } export declare class TsStateLifecycle { private readonly host; constructor(host: TsLifecycleHost); control(request: NotebookControlRequest): Promise; private status; } export declare function formatSkipped(capture: PortableCapture): string; /** Enums have both value and type authority; retain them with type declarations for pinned values. */ export declare function selectProjectPins(state: PortableState): PortableState;