import type { WorkspaceApplicationPreparer, WorkspaceApplicationRun, WorkspaceRunViewport, WorkspaceApplicationSurface, WorkspaceCamera, WorkspaceDesignPick, WorkspaceMode, WorkspaceRunRequest, WorkspaceSnapshot, WorkspaceTarget, WorkspaceViewExploration } from './contracts.js'; /** Runtime-scoped navigation with independent design and application contexts. */ export declare class WorkspaceController { private value; private listeners; private designContexts; private runSequence; /** Owns both pending preparation and the lifetime of its ready surface. */ private activeRunController; private cancellingPreparation; private disposed; constructor(initialMode?: 'view' | 'edit'); getSnapshot: () => WorkspaceSnapshot; subscribe: (listener: () => void) => (() => void); private update; selectView(target: WorkspaceTarget): void; initializeViewSelection(target: WorkspaceTarget): boolean; clearViewSelection(): void; setViewExploration(patch: Partial): void; edit(target?: WorkspaceTarget | null, pick?: WorkspaceDesignPick): void; setMode(mode: Exclude): void; setSelection(selection: readonly string[]): void; setDesignPage(pageId: string, currentPageId?: string): void; setCamera(mode: 'view' | 'edit', next: WorkspaceCamera): void; beginApplication(request: WorkspaceRunRequest): number; beginPrototype(request: Omit, prototype: NonNullable): number; private startApplication; completeApplication(id: number, surface: WorkspaceApplicationSurface): boolean; failApplication(id: number, error: string): boolean; invalidateApplication(id: number, error: string): boolean; prepareApplication(request: WorkspaceRunRequest, prepare: WorkspaceApplicationPreparer): Promise; /** Resizing the executed surface is view state; it never restarts or re-prepares the run. */ setApplicationViewport(id: number, viewport: WorkspaceRunViewport | undefined): boolean; navigateApplication(id: number, location: string): boolean; backApplication(): boolean; returnFromApplication(): void; private cancelPreparation; private abortRunController; dispose(): void; }