/*! * DOCX Engine v0.8.0 * Proprietary software. Copyright © 2026 Harbour Enterprises, Inc., d/b/a SuperDoc. * Use governed by the DOCX Engine Proprietary License Agreement. * No reverse engineering, deobfuscation, redistribution, * AI-assisted reconstruction, or competitive cloning. * License: https://docs.superdoc.dev/resources/docx-engine-license */ import { type DocumentApi } from "@superdoc/document-api"; export interface DocumentRuntimeAuthor { readonly name: string; readonly email?: string; readonly initials?: string; } export interface OpenDocumentRuntimeInput { readonly path: string; readonly author?: DocumentRuntimeAuthor; readonly initialRevision?: number; readonly trackedChangesReplacementMode?: "paired" | "independent"; readonly trackedChangeIdProjector?: (rawId: string) => string; } export interface OpenDocumentRuntimePathInput extends OpenDocumentRuntimeInput { readonly bytes?: never; readonly sourceLabel?: never; } export interface OpenDocumentRuntimeBytesInput { readonly bytes: Uint8Array; readonly sourceLabel?: string; readonly path?: never; readonly author?: DocumentRuntimeAuthor; readonly initialRevision?: number; readonly trackedChangesReplacementMode?: "paired" | "independent"; readonly trackedChangeIdProjector?: (rawId: string) => string; } export type OpenDocumentRuntimeSourceInput = OpenDocumentRuntimePathInput | OpenDocumentRuntimeBytesInput; export interface DocumentRuntimeInvokeRequest { readonly operationId: string; readonly input?: unknown; readonly options?: unknown; } export type DocumentRuntimeExportMode = "review-preserving" | "final" | "original"; export interface DocumentRuntimeSaveOptions { readonly mode?: DocumentRuntimeExportMode; } export interface DocumentRuntimeSessionSaveOptions extends DocumentRuntimeSaveOptions { readonly output?: { readonly path: string; readonly overwrite?: boolean; readonly preserveIdentity?: boolean; }; } export interface DocumentRuntimeSessionCloseOptions { readonly discard?: boolean; } export interface DocumentRuntimeWarning { readonly code: string; readonly message: string; readonly feature: "comments" | "trackedChanges"; readonly severity: "warning"; readonly affectedObjectId?: string; readonly affectedPartUri?: string; readonly canProceed: boolean; } export interface DocumentRuntimeSaveResult { readonly bytes: Uint8Array; readonly warnings: readonly DocumentRuntimeWarning[]; } export type DocumentRuntimeErrorStage = "source" | "open" | "operation" | "save" | "closed"; export interface DocumentRuntimeErrorOptions { readonly byteLength?: number; readonly domainCode?: string; readonly domainDetails?: unknown; } export declare class DocumentRuntimeError extends Error { readonly stage: DocumentRuntimeErrorStage; readonly byteLength?: number; readonly domainCode?: string; readonly domainDetails?: unknown; constructor(stage: DocumentRuntimeErrorStage, message: string, options?: DocumentRuntimeErrorOptions); } export interface OpenedDocumentRuntime { readonly byteLength: number; currentRevision(): Promise; invoke(request: DocumentRuntimeInvokeRequest): Promise; save(options?: DocumentRuntimeSaveOptions): Promise; /** Runs one task against a callback-scoped API that is revoked when the task settles. */ runWithDocumentApi(callback: (documentApi: DocumentApi, currentRevision: () => string) => T | Promise): Promise; close(): Promise; } export interface DocumentRuntimeSessionInfo { readonly sessionId: string; readonly byteLength: number; } export interface DocumentRuntimeSessionManager { open(sessionId: string, input: OpenDocumentRuntimeSourceInput): Promise; currentRevision(sessionId: string): Promise; invoke(sessionId: string, request: DocumentRuntimeInvokeRequest): Promise; save(sessionId: string, options?: DocumentRuntimeSessionSaveOptions): Promise; /** Runs one serialized task against an API that cannot escape or re-enter this manager. */ runWithDocumentApi(sessionId: string, callback: (documentApi: DocumentApi, currentRevision: () => string) => T | Promise): Promise; close(sessionId: string, options?: DocumentRuntimeSessionCloseOptions): Promise; closeAll(): Promise; } export interface ReadDocumentTextInput { readonly path: string; readonly input?: unknown; } export interface ReadDocumentTextSuccess { readonly ok: true; readonly text: string; readonly byteLength: number; } export interface ReadDocumentTextFailure { readonly ok: false; readonly stage: "source" | "open" | "operation"; readonly message: string; readonly byteLength?: number; readonly domainCode?: string; readonly domainDetails?: unknown; } export type ReadDocumentTextResult = ReadDocumentTextSuccess | ReadDocumentTextFailure; export declare function isDocumentRuntimeError(error: unknown): error is DocumentRuntimeError; export declare function openDocumentRuntime(input: OpenDocumentRuntimeSourceInput): Promise; export declare function createDocumentRuntimeSessionManager(): DocumentRuntimeSessionManager; export declare function readDocumentText(input: ReadDocumentTextInput): Promise;