import { TSchema } from '@sinclair/typebox'; import { ValidationError } from '@json-to-office/shared'; declare const DOCX_RENDERER_IDS: readonly ["docxjs", "office-open"]; type DocxRendererId = (typeof DOCX_RENDERER_IDS)[number]; declare const DEFAULT_DOCX_RENDERER_ID: DocxRendererId; /** * The exported JSON-Schema definition name for one renderer's component union. * * One name per renderer, never a shared one. The two views differ wherever a * backend cannot draw something, so a single definition would hand every * position that goes through it — a section header or footer, a table cell's * content, `componentDefaults` — whichever view the exporter happened to walk * last, and give a schema-driven editor the wrong diagnostics for the other * renderer. */ declare function docxComponentDefinitionName(renderer: DocxRendererId): string; /** * The flow-content definition: what a section body holds, and so what every * container in flow — `group`, `columns`, `text-box` — holds too. Per renderer * for the same reason as above; unsuffixed for the unprofiled runtime schema. */ declare function docxFlowDefinitionName(renderer?: DocxRendererId): string; /** * Derive one renderer view from the canonical props schema. * * The canonical schema is the union of everything any backend can express, so * a profile is a *subtraction*: the branches and fields this renderer cannot * draw are removed, which is what makes a schema-driven editor offer only what * the chosen backend will actually render. * * No subtraction is keyed by component today: both renderers draw a native * `visual`, so the name is kept for the next profile that needs one. */ declare function docxPropsSchemaForRenderer(_componentName: string, schema: TSchema, renderer: DocxRendererId): TSchema; /** Static renderer-profile diagnostics used by CLI/library validation. */ declare function collectDocxRendererErrors(data: unknown): ValidationError[]; export { DEFAULT_DOCX_RENDERER_ID, DOCX_RENDERER_IDS, type DocxRendererId, collectDocxRendererErrors, docxComponentDefinitionName, docxFlowDefinitionName, docxPropsSchemaForRenderer };