export type WorkFileImportStage = 'reading' | 'parsing' | 'analyzing' | 'finalizing'; export interface WorkFileImportProgress { stage: WorkFileImportStage; stageProgress: number; progress: number; bytesRead: number; totalBytes: number; } export interface WorkFileImportOptions { /** Reuses a host-reserved identity so an editor shell can mount in parallel. */ artifactId?: string; /** Reuses host-reserved worksheet identities during a spreadsheet import. */ spreadsheetSheetIds?: readonly string[]; signal?: AbortSignal; onProgress?: (progress: WorkFileImportProgress) => void; } export interface WorkFileImportContext { bytes: ArrayBuffer; controller: WorkFileImportController; spreadsheetSheetIds?: readonly string[]; } export declare class WorkFileImportController { private readonly options; readonly totalBytes: number; private progress; constructor(options: WorkFileImportOptions, totalBytes: number); get signal(): AbortSignal | undefined; throwIfAborted(): void; report(stage: WorkFileImportStage, stageProgress: number, bytesRead?: number): void; checkpoint(stage: WorkFileImportStage, stageProgress: number): Promise; yieldToMainThread(): Promise; complete(): void; }