import type { DesignDocument, DocumentDiagnostic, DocumentEngine, DocumentEngineOptions, DocumentNode, DocumentNodePatch, ResolvedDocumentNode, DocumentResolveOptions } from './contracts.js'; export declare class DocumentValidationError extends Error { readonly diagnostics: readonly DocumentDiagnostic[]; constructor(diagnostics: readonly DocumentDiagnostic[]); } export declare function createDocumentNode(input: Pick & Partial): DocumentNode; export declare function createDesignDocument(id: string, sourceRevision: string, rootId?: string): DesignDocument; /** Exact node IDs keep their meaning; slash paths cross only declared nested instances. */ export declare function componentOverrideTarget(document: DesignDocument, definitionId: string, address: string, overrides?: Record, definitions?: Set): DocumentNode | undefined; /** Remap only canonical IDs reached by the address, never coincidental slash-separated text. */ export declare function remapComponentOverrideAddress(document: DesignDocument, definitionId: string, address: string, nodeIds: Readonly>, overrides?: Record): string; /** Resolves components without materializing a second mutable tree in the document. */ export declare function resolveDocumentNode(document: DesignDocument, nodeId: string, options?: DocumentResolveOptions): ResolvedDocumentNode; /** Checks persisted trees before they become authoring state. */ export declare function validateDesignDocument(document: DesignDocument): DocumentDiagnostic[]; export declare function createDocumentEngine(input: DesignDocument, options?: DocumentEngineOptions): DocumentEngine; export declare function reopenDesignDocument(serialized: string, options?: DocumentEngineOptions): DocumentEngine; /** A detached serialized projection; consumers cannot mutate canonical state through it. */ export declare function projectDesignDocument(document: DesignDocument): DesignDocument; export type { DesignDocument, DocumentEngine, DocumentNode, DocumentValue } from './contracts.js';