@json-to-office/shared-docx 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/LICENSE +18 -0
  2. package/README.md +9 -0
  3. package/dist/chunk-5533WPL6.js +1895 -0
  4. package/dist/chunk-5533WPL6.js.map +1 -0
  5. package/dist/chunk-AA4HIXRG.js +34 -0
  6. package/dist/chunk-AA4HIXRG.js.map +1 -0
  7. package/dist/chunk-BEPLK76M.js +454 -0
  8. package/dist/chunk-BEPLK76M.js.map +1 -0
  9. package/dist/chunk-BOUURUYX.js +364 -0
  10. package/dist/chunk-BOUURUYX.js.map +1 -0
  11. package/dist/chunk-EKWM2CWA.js +97 -0
  12. package/dist/chunk-EKWM2CWA.js.map +1 -0
  13. package/dist/chunk-ET6YMNMF.js +35 -0
  14. package/dist/chunk-ET6YMNMF.js.map +1 -0
  15. package/dist/chunk-F5LVWDTY.js +57 -0
  16. package/dist/chunk-F5LVWDTY.js.map +1 -0
  17. package/dist/chunk-HHMK2RWF.js +274 -0
  18. package/dist/chunk-HHMK2RWF.js.map +1 -0
  19. package/dist/chunk-LOE6BZQG.js +750 -0
  20. package/dist/chunk-LOE6BZQG.js.map +1 -0
  21. package/dist/chunk-LWR4TFZ5.js +121 -0
  22. package/dist/chunk-LWR4TFZ5.js.map +1 -0
  23. package/dist/chunk-VP3X6DBP.js +44 -0
  24. package/dist/chunk-VP3X6DBP.js.map +1 -0
  25. package/dist/document-validator-CiaGiy1v.d.ts +119 -0
  26. package/dist/index.d.ts +938 -0
  27. package/dist/index.js +1129 -0
  28. package/dist/index.js.map +1 -0
  29. package/dist/schemas/api.d.ts +46 -0
  30. package/dist/schemas/api.js +16 -0
  31. package/dist/schemas/api.js.map +1 -0
  32. package/dist/schemas/component-registry.d.ts +90 -0
  33. package/dist/schemas/component-registry.js +24 -0
  34. package/dist/schemas/component-registry.js.map +1 -0
  35. package/dist/schemas/components.d.ts +755 -0
  36. package/dist/schemas/components.js +94 -0
  37. package/dist/schemas/components.js.map +1 -0
  38. package/dist/schemas/custom-components.d.ts +59 -0
  39. package/dist/schemas/custom-components.js +11 -0
  40. package/dist/schemas/custom-components.js.map +1 -0
  41. package/dist/schemas/document.d.ts +43 -0
  42. package/dist/schemas/document.js +19 -0
  43. package/dist/schemas/document.js.map +1 -0
  44. package/dist/schemas/export.d.ts +67 -0
  45. package/dist/schemas/export.js +19 -0
  46. package/dist/schemas/export.js.map +1 -0
  47. package/dist/schemas/font.d.ts +57 -0
  48. package/dist/schemas/font.js +11 -0
  49. package/dist/schemas/font.js.map +1 -0
  50. package/dist/schemas/generator.d.ts +80 -0
  51. package/dist/schemas/generator.js +9 -0
  52. package/dist/schemas/generator.js.map +1 -0
  53. package/dist/schemas/theme.d.ts +3354 -0
  54. package/dist/schemas/theme.js +42 -0
  55. package/dist/schemas/theme.js.map +1 -0
  56. package/dist/validation/unified/index.d.ts +720 -0
  57. package/dist/validation/unified/index.js +154 -0
  58. package/dist/validation/unified/index.js.map +1 -0
  59. package/package.json +80 -0
@@ -0,0 +1,938 @@
1
+ export { AddWarningFunction, ComponentSchemaConfig, DEFAULT_ERROR_CONFIG, ERROR_EMOJIS, ErrorFormatterConfig, GenerationWarning, ParsedSemver, ComponentDefinition as SharedComponentDefinition, ValidationError, ValidationResult, calculatePosition, clearComponentNamesCache, compareSemver, convertToJsonSchema, createComponentSchema, createErrorConfig, createJsonParseError, exportSchemaToFile, extractStandardComponentNames, fixSchemaReferences, formatErrorMessage, formatErrorSummary, getLiteralValue, getObjectSchemaPropertyNames, getSchemaMetadata, groupErrorsByPath, isLiteralSchema, isObjectSchema, isUnionSchema, isValidSemver, latestVersion, parseSemver, createComponentSchemaObject as sharedCreateComponentSchemaObject, transformValueError, transformValueErrors } from '@json-to-office/shared';
2
+ import { DocumentValidationResult, ValidationError } from './schemas/document.js';
3
+ export { JSON_SCHEMA_URLS, JsonComponentDefinitionSchema } from './schemas/document.js';
4
+ export { ColumnsComponentDefaults, ComponentDefaults, DocumentMargins, FontDefinition, Fonts, HeadingComponentDefaults, HeadingDefinition, ImageComponentDefaults, ListComponentDefaults, Page, PageDimensions, ParagraphComponentDefaults, SectionComponentDefaults, StatisticComponentDefaults, StyleDefinitions, TableComponentDefaults, ThemeConfigJson, ThemeConfigSchema, isValidThemeConfig } from './schemas/theme.js';
5
+ export { GenerateDocumentRequest, GenerateDocumentRequestSchema, GenerateDocumentResponse, GenerateDocumentResponseSchema, ValidateDocumentRequest, ValidateDocumentRequestSchema, ValidateDocumentResponse, ValidateDocumentResponseSchema } from './schemas/api.js';
6
+ import { ComponentDefinition as ComponentDefinition$1, ComponentDefinitionSchema, ColumnsPropsSchema, ReportPropsSchema, SectionPropsSchema, HeadingPropsSchema, ParagraphPropsSchema, TextBoxPropsSchema, ImagePropsSchema, HighchartsPropsSchema, StatisticPropsSchema, TablePropsSchema, HeaderPropsSchema, FooterPropsSchema, ListPropsSchema, TocPropsSchema } from './schemas/components.js';
7
+ export { Alignment, AlignmentSchema, BaseComponentProps, BaseComponentPropsSchema, BorderSchema, ColumnsProps, FooterProps, HeaderProps, HeadingLevel, HeadingLevelSchema, HeadingProps, HighchartsProps, ImageProps, Indent, IndentSchema, JustifiedAlignment, JustifiedAlignmentSchema, LineSpacing, LineSpacingSchema, ListProps, MarginsSchema, Numbering, NumberingSchema, ParagraphProps, ReportProps, SectionProps, Spacing, SpacingSchema, StandardComponentDefinitionSchema, StatisticProps, TableProps, TextBoxProps, TocProps } from './schemas/components.js';
8
+ import * as _sinclair_typebox from '@sinclair/typebox';
9
+ import { Static } from '@sinclair/typebox';
10
+ import { ValueError } from '@sinclair/typebox/value';
11
+ export { DOC_LINKS, ERROR_TEMPLATES, componentValidator, comprehensiveValidateDocument, createComponentValidator, createJsonValidator, createThemeValidator, createValidator, deepValidateDocument, getThemeName, getValidationSummary, isColumnsProps, isCustomComponentProps, isFooterProps, isHeaderProps, isHeadingProps, isImageProps, isListProps, isParagraphProps, isReportProps, isSectionProps, isStandardComponentName, isStatisticProps, isTableProps, isThemeConfig, isValidTheme, isValidTheme as isValidThemeJson, isValidationSuccess, strictComponentValidator, strictThemeValidator, themeValidator, transformDocxValueError, transformDocxValueErrors, validate, validateAgainstSchema, validateBatch, validateComponent as validateComponentProps, validateCustomComponentProps, validateJson, validateStrict, validateTheme, validateThemeJson, validateThemeWithEnhancement, validateWithEnhancement } from './validation/unified/index.js';
12
+ import { TextSpaceAfterPropsSchema } from './schemas/custom-components.js';
13
+ export { CustomComponentDefinitionSchema, TextSpaceAfterComponentSchema, TextSpaceAfterProps } from './schemas/custom-components.js';
14
+ export { BASE_SCHEMA_METADATA, COMPONENT_METADATA, ComponentSchemaConfig as DocxComponentSchemaConfig, THEME_SCHEMA_METADATA, convertToJsonSchema as convertDocxToJsonSchema, createComponentSchema as createDocxComponentSchema, exportSchemaToFile as exportDocxSchemaToFile, fixSchemaReferences as fixDocxSchemaReferences } from './schemas/export.js';
15
+ export { CustomComponentInfo, GenerateDocumentSchemaOptions, generateUnifiedDocumentSchema } from './schemas/generator.js';
16
+ export { C as ComponentValidationResult, E as EnhancedValueError, J as JsonValidationResult, T as ThemeValidationResult, V as ValidationOptions, c as createDocumentValidator, d as documentValidator, i as isValidDocument, s as strictDocumentValidator, v as validateDocument, a as validateDocumentWithSchema, b as validateJsonComponent, e as validateJsonComponentDoc, b as validateJsonDocument } from './document-validator-CiaGiy1v.js';
17
+ import './schemas/font.js';
18
+
19
+ /**
20
+ * JSON parser
21
+ * @module validation/parsers/json
22
+ * @description
23
+ * Advanced JSON parsing with line number tracking and detailed error reporting.
24
+ * Provides enhanced error messages for JSON syntax and validation errors.
25
+ */
26
+ /**
27
+ * JSON Document Parser - Handles parsing and validation of JSON report definitions
28
+ */
29
+ declare class JsonDocumentParser {
30
+ private schema;
31
+ constructor();
32
+ /**
33
+ * Parse JSON input (string or object) and validate against schema
34
+ * Only supports unified ComponentDefinition structure where document IS a report component
35
+ */
36
+ parse(jsonInput: string | object): ComponentDefinition$1;
37
+ /**
38
+ * Validate JSON without throwing errors - returns ValidationResult
39
+ */
40
+ validate(jsonInput: string | object): DocumentValidationResult;
41
+ /**
42
+ * Parse JSON file content with line number tracking
43
+ */
44
+ parseWithLineNumbers(jsonString: string): ComponentDefinition$1;
45
+ /**
46
+ * Extract JSON syntax error information
47
+ */
48
+ private extractJSONSyntaxError;
49
+ /**
50
+ * Format TypeBox validation errors into ValidationError format
51
+ */
52
+ private formatTypeBoxErrors;
53
+ /**
54
+ * Format individual TypeBox error message
55
+ */
56
+ private formatTypeBoxErrorMessage;
57
+ /**
58
+ * Get error code from TypeBox error
59
+ */
60
+ private getErrorCode;
61
+ /**
62
+ * Generate helpful suggestions based on error type
63
+ */
64
+ private generateSuggestions;
65
+ /**
66
+ * Find line and column number for a given JSON path
67
+ */
68
+ private findLineNumber;
69
+ }
70
+ /**
71
+ * Custom error classes for better error handling
72
+ */
73
+ declare class JsonParsingError extends Error {
74
+ readonly validationErrors: ValidationError[];
75
+ constructor(message: string, errors: ValidationError[]);
76
+ }
77
+ declare class JsonValidationError extends Error {
78
+ readonly validationErrors: ValidationError[];
79
+ constructor(message: string, errors: ValidationError[]);
80
+ }
81
+ /**
82
+ * Utility functions for external use
83
+ */
84
+ /**
85
+ * Parse and validate JSON component definition
86
+ * Only supports report components (documents)
87
+ */
88
+ declare function parseJsonComponent(jsonInput: string | object): ComponentDefinition$1;
89
+
90
+ /**
91
+ * Parse JSON with enhanced line number error reporting
92
+ * Only supports unified ComponentDefinition structure where document IS a report component
93
+ */
94
+ declare function parseJsonWithLineNumbers(jsonString: string): ComponentDefinition$1;
95
+
96
+ /**
97
+ * Theme validators
98
+ * @module validation/validators/theme
99
+ * @description
100
+ * Now uses unified validation system
101
+ */
102
+
103
+ declare function formatValidationErrors(errors: any[]): string[];
104
+
105
+ /**
106
+ * Component validators
107
+ * @module validation/validators/component
108
+ * @description
109
+ * Now uses unified validation system
110
+ */
111
+
112
+ declare function safeValidateComponentProps<T>(name: string, props: unknown): {
113
+ success: true;
114
+ data: T;
115
+ } | {
116
+ success: false;
117
+ error: any[];
118
+ };
119
+ declare function safeValidateComponentDefinition(component: unknown): {
120
+ success: true;
121
+ data: any;
122
+ } | {
123
+ success: false;
124
+ error: any[];
125
+ };
126
+ declare function getValidationErrors(props: unknown, name?: string): string[];
127
+
128
+ /**
129
+ * Core validation types
130
+ * @module validation/core/types
131
+ * @description
132
+ * Shared types used across the validation system
133
+ */
134
+ /**
135
+ * Validation result with detailed information
136
+ */
137
+ interface CoreValidationResult<T = any> {
138
+ success: boolean;
139
+ data?: T;
140
+ errors?: FormattedError[];
141
+ errorStrings?: string[];
142
+ report?: string;
143
+ hasCriticalErrors?: boolean;
144
+ warnings?: string[];
145
+ }
146
+ /**
147
+ * Formatted error with additional context
148
+ */
149
+ interface FormattedError {
150
+ path: string;
151
+ message: string;
152
+ code: string;
153
+ suggestion?: string;
154
+ expected?: string;
155
+ received?: string;
156
+ options?: string[];
157
+ }
158
+ /**
159
+ * Validation options for customizing behavior
160
+ */
161
+ interface ValidationOptions {
162
+ includeReport?: boolean;
163
+ checkCritical?: boolean;
164
+ strict?: boolean;
165
+ maxDepth?: number;
166
+ currentDepth?: number;
167
+ stopOnFirst?: boolean;
168
+ }
169
+ /**
170
+ * Batch validation result
171
+ */
172
+ interface BatchValidationResult<T = any> {
173
+ success: boolean;
174
+ results: CoreValidationResult<T>[];
175
+ summary: {
176
+ total: number;
177
+ valid: number;
178
+ invalid: number;
179
+ criticalErrors: number;
180
+ };
181
+ }
182
+ /**
183
+ * Component validation configuration
184
+ */
185
+ interface ComponentValidationConfig {
186
+ name: string;
187
+ props: unknown;
188
+ }
189
+ /**
190
+ * Transformer function for data migration
191
+ */
192
+ type DataTransformer<T = any> = (data: any) => T;
193
+
194
+ /**
195
+ * Core validation engine
196
+ * @module validation/core/validator
197
+ * @description
198
+ * Main validation utilities using TypeBox for runtime validation.
199
+ * Provides comprehensive validation with error handling and data transformation.
200
+ */
201
+ /**
202
+ * Component name to schema mapping
203
+ */
204
+ declare const COMPONENT_SCHEMA_MAP: {
205
+ readonly report: _sinclair_typebox.TObject<{
206
+ theme: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
207
+ metadata: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
208
+ title: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
209
+ subtitle: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
210
+ description: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
211
+ author: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
212
+ company: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
213
+ date: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
214
+ created: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
215
+ modified: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
216
+ version: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
217
+ tags: _sinclair_typebox.TOptional<_sinclair_typebox.TArray<_sinclair_typebox.TString>>;
218
+ }>>;
219
+ }>;
220
+ readonly section: _sinclair_typebox.TObject<{
221
+ title: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
222
+ level: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
223
+ header: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TArray<_sinclair_typebox.TSchema | _sinclair_typebox.TAny>, _sinclair_typebox.TLiteral<"linkToPrevious">]>>;
224
+ footer: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TArray<_sinclair_typebox.TSchema | _sinclair_typebox.TAny>, _sinclair_typebox.TLiteral<"linkToPrevious">]>>;
225
+ pageBreak: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
226
+ spacing: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
227
+ before: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
228
+ after: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
229
+ }>>;
230
+ page: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
231
+ size: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"A4">, _sinclair_typebox.TLiteral<"A3">, _sinclair_typebox.TLiteral<"LETTER">, _sinclair_typebox.TLiteral<"LEGAL">, _sinclair_typebox.TObject<{
232
+ width: _sinclair_typebox.TNumber;
233
+ height: _sinclair_typebox.TNumber;
234
+ }>]>>;
235
+ margins: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
236
+ top: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
237
+ bottom: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
238
+ left: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
239
+ right: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
240
+ header: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
241
+ footer: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
242
+ gutter: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
243
+ }>>;
244
+ }>>;
245
+ }>;
246
+ readonly heading: _sinclair_typebox.TObject<{
247
+ text: _sinclair_typebox.TString;
248
+ level: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<1>, _sinclair_typebox.TLiteral<2>, _sinclair_typebox.TLiteral<3>, _sinclair_typebox.TLiteral<4>, _sinclair_typebox.TLiteral<5>, _sinclair_typebox.TLiteral<6>]>>;
249
+ font: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
250
+ size: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
251
+ color: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
252
+ bold: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
253
+ italic: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
254
+ underline: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
255
+ lineSpacing: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
256
+ type: _sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"single">, _sinclair_typebox.TLiteral<"atLeast">, _sinclair_typebox.TLiteral<"exactly">, _sinclair_typebox.TLiteral<"double">, _sinclair_typebox.TLiteral<"multiple">]>;
257
+ value: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
258
+ }>>;
259
+ spacing: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
260
+ before: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
261
+ after: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
262
+ }>>;
263
+ characterSpacing: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
264
+ type: _sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"condensed">, _sinclair_typebox.TLiteral<"expanded">]>;
265
+ value: _sinclair_typebox.TNumber;
266
+ }>>;
267
+ family: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
268
+ }>>;
269
+ alignment: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"left">, _sinclair_typebox.TLiteral<"center">, _sinclair_typebox.TLiteral<"right">, _sinclair_typebox.TLiteral<"justify">]>>;
270
+ spacing: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
271
+ before: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
272
+ after: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
273
+ }>>;
274
+ lineSpacing: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TNumber, _sinclair_typebox.TObject<{
275
+ type: _sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"single">, _sinclair_typebox.TLiteral<"atLeast">, _sinclair_typebox.TLiteral<"exactly">, _sinclair_typebox.TLiteral<"double">, _sinclair_typebox.TLiteral<"multiple">]>;
276
+ value: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
277
+ }>]>>;
278
+ pageBreak: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
279
+ columnBreak: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
280
+ numbering: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
281
+ keepNext: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
282
+ keepLines: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
283
+ }>;
284
+ readonly paragraph: _sinclair_typebox.TObject<{
285
+ text: _sinclair_typebox.TString;
286
+ font: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
287
+ size: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
288
+ color: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
289
+ bold: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
290
+ italic: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
291
+ underline: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
292
+ lineSpacing: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
293
+ type: _sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"single">, _sinclair_typebox.TLiteral<"atLeast">, _sinclair_typebox.TLiteral<"exactly">, _sinclair_typebox.TLiteral<"double">, _sinclair_typebox.TLiteral<"multiple">]>;
294
+ value: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
295
+ }>>;
296
+ spacing: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
297
+ before: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
298
+ after: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
299
+ }>>;
300
+ characterSpacing: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
301
+ type: _sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"condensed">, _sinclair_typebox.TLiteral<"expanded">]>;
302
+ value: _sinclair_typebox.TNumber;
303
+ }>>;
304
+ family: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
305
+ }>>;
306
+ themeStyle: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
307
+ boldColor: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
308
+ spacing: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
309
+ before: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
310
+ after: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
311
+ }>>;
312
+ alignment: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"left">, _sinclair_typebox.TLiteral<"center">, _sinclair_typebox.TLiteral<"right">, _sinclair_typebox.TLiteral<"justify">]>>;
313
+ pageBreak: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
314
+ columnBreak: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
315
+ floating: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
316
+ horizontalPosition: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
317
+ relative: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"margin">, _sinclair_typebox.TLiteral<"page">, _sinclair_typebox.TLiteral<"text">]>>;
318
+ align: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"left">, _sinclair_typebox.TLiteral<"center">, _sinclair_typebox.TLiteral<"right">, _sinclair_typebox.TLiteral<"inside">, _sinclair_typebox.TLiteral<"outside">]>>;
319
+ offset: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
320
+ }>>;
321
+ verticalPosition: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
322
+ relative: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"margin">, _sinclair_typebox.TLiteral<"page">, _sinclair_typebox.TLiteral<"text">]>>;
323
+ align: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"top">, _sinclair_typebox.TLiteral<"center">, _sinclair_typebox.TLiteral<"bottom">, _sinclair_typebox.TLiteral<"inside">, _sinclair_typebox.TLiteral<"outside">]>>;
324
+ offset: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
325
+ }>>;
326
+ wrap: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
327
+ type: _sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"around">, _sinclair_typebox.TLiteral<"none">, _sinclair_typebox.TLiteral<"notBeside">, _sinclair_typebox.TLiteral<"through">, _sinclair_typebox.TLiteral<"tight">, _sinclair_typebox.TLiteral<"auto">]>;
328
+ }>>;
329
+ lockAnchor: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
330
+ width: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
331
+ height: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
332
+ }>>;
333
+ keepNext: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
334
+ keepLines: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
335
+ id: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
336
+ }>;
337
+ readonly columns: _sinclair_typebox.TObject<{
338
+ columns: _sinclair_typebox.TUnion<[_sinclair_typebox.TNumber, _sinclair_typebox.TArray<_sinclair_typebox.TObject<{
339
+ width: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TNumber, _sinclair_typebox.TString, _sinclair_typebox.TLiteral<"auto">]>>;
340
+ gap: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TNumber, _sinclair_typebox.TString]>>;
341
+ }>>]>;
342
+ gap: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TNumber, _sinclair_typebox.TString]>>;
343
+ }>;
344
+ readonly image: _sinclair_typebox.TObject<{
345
+ path: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
346
+ base64: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
347
+ alt: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
348
+ width: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TNumber, _sinclair_typebox.TString]>>;
349
+ height: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TNumber, _sinclair_typebox.TString]>>;
350
+ widthRelativeTo: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"content">, _sinclair_typebox.TLiteral<"page">]>>;
351
+ heightRelativeTo: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"content">, _sinclair_typebox.TLiteral<"page">]>>;
352
+ alignment: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"left">, _sinclair_typebox.TLiteral<"center">, _sinclair_typebox.TLiteral<"right">]>>;
353
+ caption: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
354
+ spacing: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
355
+ before: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
356
+ after: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
357
+ }>>;
358
+ floating: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
359
+ horizontalPosition: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
360
+ relative: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"character">, _sinclair_typebox.TLiteral<"column">, _sinclair_typebox.TLiteral<"margin">, _sinclair_typebox.TLiteral<"page">, _sinclair_typebox.TLiteral<"text">]>>;
361
+ align: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"left">, _sinclair_typebox.TLiteral<"center">, _sinclair_typebox.TLiteral<"right">, _sinclair_typebox.TLiteral<"inside">, _sinclair_typebox.TLiteral<"outside">]>>;
362
+ offset: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
363
+ }>>;
364
+ verticalPosition: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
365
+ relative: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"margin">, _sinclair_typebox.TLiteral<"page">, _sinclair_typebox.TLiteral<"paragraph">, _sinclair_typebox.TLiteral<"line">, _sinclair_typebox.TLiteral<"text">]>>;
366
+ align: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"top">, _sinclair_typebox.TLiteral<"center">, _sinclair_typebox.TLiteral<"bottom">, _sinclair_typebox.TLiteral<"inside">, _sinclair_typebox.TLiteral<"outside">]>>;
367
+ offset: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
368
+ }>>;
369
+ wrap: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
370
+ type: _sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"none">, _sinclair_typebox.TLiteral<"square">, _sinclair_typebox.TLiteral<"topAndBottom">, _sinclair_typebox.TLiteral<"around">, _sinclair_typebox.TLiteral<"tight">, _sinclair_typebox.TLiteral<"through">]>;
371
+ side: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"bothSides">, _sinclair_typebox.TLiteral<"left">, _sinclair_typebox.TLiteral<"right">, _sinclair_typebox.TLiteral<"largest">]>>;
372
+ margins: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
373
+ top: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
374
+ /**
375
+ * Transform and validate data (for migration scenarios)
376
+ */
377
+ bottom: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
378
+ left: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
379
+ right: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
380
+ }>>;
381
+ }>>;
382
+ allowOverlap: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
383
+ behindDocument: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
384
+ lockAnchor: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
385
+ layoutInCell: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
386
+ zIndex: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
387
+ rotation: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
388
+ visibility: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"hidden">, _sinclair_typebox.TLiteral<"inherit">]>>;
389
+ }>>;
390
+ keepNext: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
391
+ keepLines: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
392
+ }>;
393
+ readonly statistic: _sinclair_typebox.TObject<{
394
+ number: _sinclair_typebox.TString;
395
+ description: _sinclair_typebox.TString;
396
+ unit: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
397
+ format: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
398
+ trend: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"up">, _sinclair_typebox.TLiteral<"down">, _sinclair_typebox.TLiteral<"neutral">]>>;
399
+ trendValue: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TString, _sinclair_typebox.TNumber]>>;
400
+ alignment: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"left">, _sinclair_typebox.TLiteral<"center">, _sinclair_typebox.TLiteral<"right">]>>;
401
+ spacing: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
402
+ before: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
403
+ after: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
404
+ }>>;
405
+ size: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"small">, _sinclair_typebox.TLiteral<"medium">, _sinclair_typebox.TLiteral<"large">]>>;
406
+ }>;
407
+ readonly table: _sinclair_typebox.TObject<{
408
+ borderColor: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TString, _sinclair_typebox.TObject<{
409
+ bottom: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
410
+ top: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
411
+ right: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
412
+ left: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
413
+ }>]>>;
414
+ borderSize: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TNumber, _sinclair_typebox.TObject<{
415
+ bottom: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
416
+ top: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
417
+ right: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
418
+ left: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
419
+ }>]>>;
420
+ hideBorders: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TBoolean, _sinclair_typebox.TObject<{
421
+ bottom: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
422
+ top: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
423
+ right: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
424
+ left: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
425
+ insideHorizontal: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
426
+ insideVertical: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
427
+ }>]>>;
428
+ cellDefaults: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
429
+ color: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
430
+ backgroundColor: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
431
+ horizontalAlignment: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"left">, _sinclair_typebox.TLiteral<"center">, _sinclair_typebox.TLiteral<"right">, _sinclair_typebox.TLiteral<"justify">]>>;
432
+ verticalAlignment: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"top">, _sinclair_typebox.TLiteral<"middle">, _sinclair_typebox.TLiteral<"bottom">]>>;
433
+ font: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
434
+ family: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
435
+ size: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
436
+ bold: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
437
+ italic: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
438
+ underline: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
439
+ }>>;
440
+ borderColor: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TString, _sinclair_typebox.TObject<{
441
+ bottom: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
442
+ top: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
443
+ right: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
444
+ left: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
445
+ }>]>>;
446
+ borderSize: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TNumber, _sinclair_typebox.TObject<{
447
+ bottom: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
448
+ top: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
449
+ right: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
450
+ left: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
451
+ }>]>>;
452
+ padding: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TNumber, _sinclair_typebox.TObject<{
453
+ bottom: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
454
+ top: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
455
+ right: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
456
+ left: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
457
+ }>]>>;
458
+ height: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
459
+ }>>;
460
+ headerCellDefaults: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
461
+ color: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
462
+ backgroundColor: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
463
+ horizontalAlignment: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"left">, _sinclair_typebox.TLiteral<"center">, _sinclair_typebox.TLiteral<"right">, _sinclair_typebox.TLiteral<"justify">]>>;
464
+ verticalAlignment: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"top">, _sinclair_typebox.TLiteral<"middle">, _sinclair_typebox.TLiteral<"bottom">]>>;
465
+ font: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
466
+ family: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
467
+ size: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
468
+ bold: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
469
+ italic: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
470
+ underline: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
471
+ }>>;
472
+ borderColor: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TString, _sinclair_typebox.TObject<{
473
+ bottom: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
474
+ top: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
475
+ right: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
476
+ left: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
477
+ }>]>>;
478
+ borderSize: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TNumber, _sinclair_typebox.TObject<{
479
+ bottom: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
480
+ top: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
481
+ right: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
482
+ left: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
483
+ }>]>>;
484
+ padding: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TNumber, _sinclair_typebox.TObject<{
485
+ bottom: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
486
+ top: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
487
+ right: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
488
+ left: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
489
+ }>]>>;
490
+ height: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
491
+ }>>;
492
+ width: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
493
+ columns: _sinclair_typebox.TArray<_sinclair_typebox.TObject<{
494
+ width: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
495
+ cellDefaults: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
496
+ color: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
497
+ backgroundColor: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
498
+ horizontalAlignment: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"left">, _sinclair_typebox.TLiteral<"center">, _sinclair_typebox.TLiteral<"right">, _sinclair_typebox.TLiteral<"justify">]>>;
499
+ verticalAlignment: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"top">, _sinclair_typebox.TLiteral<"middle">, _sinclair_typebox.TLiteral<"bottom">]>>;
500
+ font: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
501
+ family: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
502
+ size: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
503
+ bold: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
504
+ italic: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
505
+ underline: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
506
+ }>>;
507
+ borderColor: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TString, _sinclair_typebox.TObject<{
508
+ bottom: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
509
+ top: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
510
+ right: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
511
+ left: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
512
+ }>]>>;
513
+ borderSize: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TNumber, _sinclair_typebox.TObject<{
514
+ bottom: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
515
+ top: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
516
+ right: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
517
+ left: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
518
+ }>]>>;
519
+ padding: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TNumber, _sinclair_typebox.TObject<{
520
+ bottom: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
521
+ top: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
522
+ right: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
523
+ left: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
524
+ }>]>>;
525
+ height: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
526
+ }>>;
527
+ header: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
528
+ color: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
529
+ backgroundColor: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
530
+ horizontalAlignment: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"left">, _sinclair_typebox.TLiteral<"center">, _sinclair_typebox.TLiteral<"right">, _sinclair_typebox.TLiteral<"justify">]>>;
531
+ verticalAlignment: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"top">, _sinclair_typebox.TLiteral<"middle">, _sinclair_typebox.TLiteral<"bottom">]>>;
532
+ font: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
533
+ family: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
534
+ size: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
535
+ bold: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
536
+ italic: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
537
+ underline: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
538
+ }>>;
539
+ borderColor: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TString, _sinclair_typebox.TObject<{
540
+ bottom: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
541
+ top: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
542
+ right: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
543
+ left: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
544
+ }>]>>;
545
+ borderSize: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TNumber, _sinclair_typebox.TObject<{
546
+ bottom: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
547
+ top: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
548
+ right: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
549
+ left: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
550
+ }>]>>;
551
+ padding: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TNumber, _sinclair_typebox.TObject<{
552
+ bottom: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
553
+ top: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
554
+ right: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
555
+ left: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
556
+ }>]>>;
557
+ height: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
558
+ content: _sinclair_typebox.TOptional<_sinclair_typebox.TRecursive<_sinclair_typebox.TUnion<[_sinclair_typebox.TString, _sinclair_typebox.TObject<{
559
+ name: _sinclair_typebox.TString;
560
+ props: _sinclair_typebox.TObject<{}>;
561
+ children: _sinclair_typebox.TOptional<_sinclair_typebox.TArray<_sinclair_typebox.TThis>>;
562
+ }>]>>>;
563
+ }>>;
564
+ cells: _sinclair_typebox.TOptional<_sinclair_typebox.TArray<_sinclair_typebox.TObject<{
565
+ color: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
566
+ backgroundColor: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
567
+ horizontalAlignment: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"left">, _sinclair_typebox.TLiteral<"center">, _sinclair_typebox.TLiteral<"right">, _sinclair_typebox.TLiteral<"justify">]>>;
568
+ verticalAlignment: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"top">, _sinclair_typebox.TLiteral<"middle">, _sinclair_typebox.TLiteral<"bottom">]>>;
569
+ font: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
570
+ family: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
571
+ size: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
572
+ bold: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
573
+ italic: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
574
+ underline: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
575
+ }>>;
576
+ /**
577
+ * Batch validate multiple components
578
+ */
579
+ borderColor: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TString, _sinclair_typebox.TObject<{
580
+ bottom: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
581
+ top: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
582
+ right: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
583
+ left: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
584
+ }>]>>;
585
+ borderSize: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TNumber, _sinclair_typebox.TObject<{
586
+ bottom: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
587
+ top: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
588
+ right: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
589
+ left: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
590
+ }>]>>;
591
+ padding: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TNumber, _sinclair_typebox.TObject<{
592
+ bottom: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
593
+ top: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
594
+ right: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
595
+ left: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
596
+ }>]>>;
597
+ height: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
598
+ content: _sinclair_typebox.TOptional<_sinclair_typebox.TRecursive<_sinclair_typebox.TUnion<[_sinclair_typebox.TString, _sinclair_typebox.TObject<{
599
+ name: _sinclair_typebox.TString;
600
+ props: _sinclair_typebox.TObject<{}>;
601
+ children: _sinclair_typebox.TOptional<_sinclair_typebox.TArray<_sinclair_typebox.TThis>>;
602
+ }>]>>>;
603
+ }>>>;
604
+ }>>;
605
+ keepInOnePage: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
606
+ keepNext: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
607
+ repeatHeaderOnPageBreak: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
608
+ }>;
609
+ readonly header: _sinclair_typebox.TObject<{
610
+ text: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
611
+ logo: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
612
+ alignment: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"left">, _sinclair_typebox.TLiteral<"center">, _sinclair_typebox.TLiteral<"right">]>>;
613
+ position: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"top">, _sinclair_typebox.TLiteral<"bottom">]>>;
614
+ firstPage: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
615
+ oddPages: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
616
+ evenPages: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
617
+ showPageNumbers: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
618
+ showDate: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
619
+ height: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
620
+ }>;
621
+ readonly footer: _sinclair_typebox.TObject<{
622
+ text: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
623
+ alignment: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"left">, _sinclair_typebox.TLiteral<"center">, _sinclair_typebox.TLiteral<"right">]>>;
624
+ position: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"top">, _sinclair_typebox.TLiteral<"bottom">]>>;
625
+ firstPage: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
626
+ oddPages: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
627
+ evenPages: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
628
+ showPageNumbers: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
629
+ showDate: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
630
+ height: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
631
+ }>;
632
+ readonly list: _sinclair_typebox.TObject<{
633
+ items: _sinclair_typebox.TArray<_sinclair_typebox.TUnion<[_sinclair_typebox.TString, _sinclair_typebox.TObject<{
634
+ text: _sinclair_typebox.TString;
635
+ level: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
636
+ }>]>>;
637
+ reference: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
638
+ levels: _sinclair_typebox.TOptional<_sinclair_typebox.TArray<_sinclair_typebox.TObject<{
639
+ level: _sinclair_typebox.TNumber;
640
+ format: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"decimal">, _sinclair_typebox.TLiteral<"upperRoman">, _sinclair_typebox.TLiteral<"lowerRoman">, _sinclair_typebox.TLiteral<"upperLetter">, _sinclair_typebox.TLiteral<"lowerLetter">, _sinclair_typebox.TLiteral<"bullet">, _sinclair_typebox.TLiteral<"ordinal">, _sinclair_typebox.TLiteral<"cardinalText">, _sinclair_typebox.TLiteral<"ordinalText">, _sinclair_typebox.TLiteral<"hex">, _sinclair_typebox.TLiteral<"chicago">, _sinclair_typebox.TLiteral<"ideographDigital">, _sinclair_typebox.TLiteral<"japaneseCounting">, _sinclair_typebox.TLiteral<"aiueo">, _sinclair_typebox.TLiteral<"iroha">, _sinclair_typebox.TLiteral<"decimalFullWidth">, _sinclair_typebox.TLiteral<"decimalHalfWidth">, _sinclair_typebox.TLiteral<"japaneseLegal">, _sinclair_typebox.TLiteral<"japaneseDigitalTenThousand">, _sinclair_typebox.TLiteral<"decimalEnclosedCircle">, _sinclair_typebox.TLiteral<"decimalFullWidth2">, _sinclair_typebox.TLiteral<"aiueoFullWidth">, _sinclair_typebox.TLiteral<"irohaFullWidth">, _sinclair_typebox.TLiteral<"decimalZero">, _sinclair_typebox.TLiteral<"ganada">, _sinclair_typebox.TLiteral<"chosung">, _sinclair_typebox.TLiteral<"decimalEnclosedFullstop">, _sinclair_typebox.TLiteral<"decimalEnclosedParen">, _sinclair_typebox.TLiteral<"decimalEnclosedCircleChinese">, _sinclair_typebox.TLiteral<"ideographEnclosedCircle">, _sinclair_typebox.TLiteral<"ideographTraditional">, _sinclair_typebox.TLiteral<"ideographZodiac">, _sinclair_typebox.TLiteral<"ideographZodiacTraditional">, _sinclair_typebox.TLiteral<"taiwaneseCounting">, _sinclair_typebox.TLiteral<"ideographLegalTraditional">, _sinclair_typebox.TLiteral<"taiwaneseCountingThousand">, _sinclair_typebox.TLiteral<"taiwaneseDigital">, _sinclair_typebox.TLiteral<"chineseCounting">, _sinclair_typebox.TLiteral<"chineseLegalSimplified">, _sinclair_typebox.TLiteral<"chineseCountingThousand">, _sinclair_typebox.TLiteral<"koreanDigital">, _sinclair_typebox.TLiteral<"koreanCounting">, _sinclair_typebox.TLiteral<"koreanLegal">, _sinclair_typebox.TLiteral<"koreanDigital2">, _sinclair_typebox.TLiteral<"vietnameseCounting">, _sinclair_typebox.TLiteral<"russianLower">, _sinclair_typebox.TLiteral<"russianUpper">, _sinclair_typebox.TLiteral<"none">, _sinclair_typebox.TLiteral<"numberInDash">, _sinclair_typebox.TLiteral<"hebrew1">, _sinclair_typebox.TLiteral<"hebrew2">, _sinclair_typebox.TLiteral<"arabicAlpha">, _sinclair_typebox.TLiteral<"arabicAbjad">, _sinclair_typebox.TLiteral<"hindiVowels">, _sinclair_typebox.TLiteral<"hindiConsonants">, _sinclair_typebox.TLiteral<"hindiNumbers">, _sinclair_typebox.TLiteral<"hindiCounting">, _sinclair_typebox.TLiteral<"thaiLetters">, _sinclair_typebox.TLiteral<"thaiNumbers">, _sinclair_typebox.TLiteral<"thaiCounting">]>>;
641
+ text: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
642
+ alignment: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"start">, _sinclair_typebox.TLiteral<"end">, _sinclair_typebox.TLiteral<"left">, _sinclair_typebox.TLiteral<"right">, _sinclair_typebox.TLiteral<"center">]>>;
643
+ indent: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
644
+ left: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
645
+ hanging: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
646
+ }>>;
647
+ start: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
648
+ }>>>;
649
+ format: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"decimal">, _sinclair_typebox.TLiteral<"upperRoman">, _sinclair_typebox.TLiteral<"lowerRoman">, _sinclair_typebox.TLiteral<"upperLetter">, _sinclair_typebox.TLiteral<"lowerLetter">, _sinclair_typebox.TLiteral<"bullet">, _sinclair_typebox.TLiteral<"ordinal">, _sinclair_typebox.TLiteral<"cardinalText">, _sinclair_typebox.TLiteral<"ordinalText">, _sinclair_typebox.TLiteral<"hex">, _sinclair_typebox.TLiteral<"chicago">, _sinclair_typebox.TLiteral<"ideographDigital">, _sinclair_typebox.TLiteral<"japaneseCounting">, _sinclair_typebox.TLiteral<"aiueo">, _sinclair_typebox.TLiteral<"iroha">, _sinclair_typebox.TLiteral<"decimalFullWidth">, _sinclair_typebox.TLiteral<"decimalHalfWidth">, _sinclair_typebox.TLiteral<"japaneseLegal">, _sinclair_typebox.TLiteral<"japaneseDigitalTenThousand">, _sinclair_typebox.TLiteral<"decimalEnclosedCircle">, _sinclair_typebox.TLiteral<"decimalFullWidth2">, _sinclair_typebox.TLiteral<"aiueoFullWidth">, _sinclair_typebox.TLiteral<"irohaFullWidth">, _sinclair_typebox.TLiteral<"decimalZero">, _sinclair_typebox.TLiteral<"ganada">, _sinclair_typebox.TLiteral<"chosung">, _sinclair_typebox.TLiteral<"decimalEnclosedFullstop">, _sinclair_typebox.TLiteral<"decimalEnclosedParen">, _sinclair_typebox.TLiteral<"decimalEnclosedCircleChinese">, _sinclair_typebox.TLiteral<"ideographEnclosedCircle">, _sinclair_typebox.TLiteral<"ideographTraditional">, _sinclair_typebox.TLiteral<"ideographZodiac">, _sinclair_typebox.TLiteral<"ideographZodiacTraditional">, _sinclair_typebox.TLiteral<"taiwaneseCounting">, _sinclair_typebox.TLiteral<"ideographLegalTraditional">, _sinclair_typebox.TLiteral<"taiwaneseCountingThousand">, _sinclair_typebox.TLiteral<"taiwaneseDigital">, _sinclair_typebox.TLiteral<"chineseCounting">, _sinclair_typebox.TLiteral<"chineseLegalSimplified">, _sinclair_typebox.TLiteral<"chineseCountingThousand">, _sinclair_typebox.TLiteral<"koreanDigital">, _sinclair_typebox.TLiteral<"koreanCounting">, _sinclair_typebox.TLiteral<"koreanLegal">, _sinclair_typebox.TLiteral<"koreanDigital2">, _sinclair_typebox.TLiteral<"vietnameseCounting">, _sinclair_typebox.TLiteral<"russianLower">, _sinclair_typebox.TLiteral<"russianUpper">, _sinclair_typebox.TLiteral<"none">, _sinclair_typebox.TLiteral<"numberInDash">, _sinclair_typebox.TLiteral<"hebrew1">, _sinclair_typebox.TLiteral<"hebrew2">, _sinclair_typebox.TLiteral<"arabicAlpha">, _sinclair_typebox.TLiteral<"arabicAbjad">, _sinclair_typebox.TLiteral<"hindiVowels">, _sinclair_typebox.TLiteral<"hindiConsonants">, _sinclair_typebox.TLiteral<"hindiNumbers">, _sinclair_typebox.TLiteral<"hindiCounting">, _sinclair_typebox.TLiteral<"thaiLetters">, _sinclair_typebox.TLiteral<"thaiNumbers">, _sinclair_typebox.TLiteral<"thaiCounting">]>, _sinclair_typebox.TLiteral<"numbered">, _sinclair_typebox.TLiteral<"none">]>>;
650
+ bullet: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
651
+ start: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
652
+ spacing: _sinclair_typebox.TOptional<_sinclair_typebox.TObject<{
653
+ before: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
654
+ after: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
655
+ item: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
656
+ }>>;
657
+ alignment: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"left">, _sinclair_typebox.TLiteral<"center">, _sinclair_typebox.TLiteral<"right">, _sinclair_typebox.TLiteral<"justify">]>>;
658
+ indent: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<[_sinclair_typebox.TNumber, _sinclair_typebox.TObject<{
659
+ left: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
660
+ hanging: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
661
+ }>]>>;
662
+ }>;
663
+ };
664
+ type StandardComponentName = keyof typeof COMPONENT_SCHEMA_MAP;
665
+ /**
666
+ * Validate any component configuration with comprehensive error handling
667
+ */
668
+ declare function validateComponent<T extends StandardComponentName>(name: T, props: unknown, options?: ValidationOptions): CoreValidationResult<Static<(typeof COMPONENT_SCHEMA_MAP)[T]>>;
669
+ /**
670
+ * Validate a complete component definition (with nested children)
671
+ */
672
+ declare function validateComponentDefinition(component: unknown, options?: ValidationOptions): CoreValidationResult<Static<typeof ComponentDefinitionSchema>>;
673
+ /**
674
+ * Batch validate multiple components
675
+ */
676
+ declare function validateComponents(components: ComponentValidationConfig[], options?: ValidationOptions): BatchValidationResult;
677
+ /**
678
+ * Transform and validate data (for migration scenarios)
679
+ */
680
+ declare function transformAndValidate<T extends StandardComponentName>(name: T, data: unknown, transformer?: DataTransformer): CoreValidationResult<Static<(typeof COMPONENT_SCHEMA_MAP)[T]>>;
681
+ /**
682
+ * Create a validated component with defaults
683
+ */
684
+ declare function createValidatedComponent<T extends StandardComponentName>(name: T, partialConfig: Partial<Static<(typeof COMPONENT_SCHEMA_MAP)[T]>>): CoreValidationResult<Static<(typeof COMPONENT_SCHEMA_MAP)[T]>>;
685
+ /**
686
+ * Type guard functions with proper error context
687
+ */
688
+ declare function isValidComponent<T extends StandardComponentName>(name: T, props: unknown): props is Static<(typeof COMPONENT_SCHEMA_MAP)[T]>;
689
+
690
+ /**
691
+ * Format TypeBox validation errors into detailed, user-friendly messages
692
+ */
693
+ declare function formatTypeBoxError(errors: ValueError[]): FormattedError[];
694
+ /**
695
+ * Format errors as simple string array (backward compatible)
696
+ */
697
+ declare function formatTypeBoxErrorStrings(errors: ValueError[]): string[];
698
+ /**
699
+ * Get a summary of validation errors grouped by path
700
+ */
701
+ declare function getErrorSummary(errors: ValueError[]): Map<string, FormattedError[]>;
702
+ /**
703
+ * Format validation errors as a detailed report
704
+ */
705
+ declare function formatErrorReport(errors: ValueError[]): string;
706
+ /**
707
+ * Check if an error is critical (affects core functionality)
708
+ */
709
+ declare function hasCriticalErrors(errors: ValueError[]): boolean;
710
+ /**
711
+ * Get validation context for better error messages
712
+ */
713
+ declare function getValidationContext(path: string): string;
714
+ declare const formatValidationError: typeof formatTypeBoxError;
715
+ declare const formatValidationErrorStrings: typeof formatTypeBoxErrorStrings;
716
+
717
+ /**
718
+ * Component Type Definitions for Plugin System
719
+ *
720
+ * This file provides properly typed discriminated union interfaces for all component types.
721
+ * These types enable TypeScript to automatically infer component props based on
722
+ * the 'name' field when building component arrays in render functions.
723
+ */
724
+
725
+ /**
726
+ * Report component with literal name discriminator
727
+ */
728
+ interface ReportComponent {
729
+ name: 'docx';
730
+ id?: string;
731
+ /** When false, this component is filtered out and not rendered. Defaults to true */
732
+ enabled?: boolean;
733
+ props: Static<typeof ReportPropsSchema>;
734
+ children?: ComponentDefinition[];
735
+ }
736
+ /**
737
+ * Section component with literal name discriminator
738
+ */
739
+ interface SectionComponent {
740
+ name: 'section';
741
+ id?: string;
742
+ /** When false, this component is filtered out and not rendered. Defaults to true */
743
+ enabled?: boolean;
744
+ props: Static<typeof SectionPropsSchema>;
745
+ children?: ComponentDefinition[];
746
+ }
747
+ /**
748
+ * Columns component with literal name discriminator
749
+ */
750
+ interface ColumnsComponent {
751
+ name: 'columns';
752
+ id?: string;
753
+ /** When false, this component is filtered out and not rendered. Defaults to true */
754
+ enabled?: boolean;
755
+ props: Static<typeof ColumnsPropsSchema>;
756
+ children?: ComponentDefinition[];
757
+ }
758
+ /**
759
+ * Heading component with literal name discriminator
760
+ */
761
+ interface HeadingComponent {
762
+ name: 'heading';
763
+ id?: string;
764
+ /** When false, this component is filtered out and not rendered. Defaults to true */
765
+ enabled?: boolean;
766
+ props: Static<typeof HeadingPropsSchema>;
767
+ }
768
+ /**
769
+ * Paragraph component with literal name discriminator
770
+ */
771
+ interface ParagraphComponent {
772
+ name: 'paragraph';
773
+ id?: string;
774
+ /** When false, this component is filtered out and not rendered. Defaults to true */
775
+ enabled?: boolean;
776
+ props: Static<typeof ParagraphPropsSchema>;
777
+ }
778
+ /**
779
+ * Image component with literal name discriminator
780
+ */
781
+ interface ImageComponent {
782
+ name: 'image';
783
+ id?: string;
784
+ /** When false, this component is filtered out and not rendered. Defaults to true */
785
+ enabled?: boolean;
786
+ props: Static<typeof ImagePropsSchema>;
787
+ }
788
+ /**
789
+ * Statistic component with literal name discriminator
790
+ */
791
+ interface StatisticComponent {
792
+ name: 'statistic';
793
+ id?: string;
794
+ /** When false, this component is filtered out and not rendered. Defaults to true */
795
+ enabled?: boolean;
796
+ props: Static<typeof StatisticPropsSchema>;
797
+ }
798
+ /**
799
+ * Table component with literal name discriminator
800
+ */
801
+ interface TableComponent {
802
+ name: 'table';
803
+ id?: string;
804
+ /** When false, this component is filtered out and not rendered. Defaults to true */
805
+ enabled?: boolean;
806
+ props: Static<typeof TablePropsSchema>;
807
+ }
808
+ /**
809
+ * Highcharts component with literal name discriminator
810
+ */
811
+ interface HighchartsComponent {
812
+ name: 'highcharts';
813
+ id?: string;
814
+ /** When false, this component is filtered out and not rendered. Defaults to true */
815
+ enabled?: boolean;
816
+ props: Static<typeof HighchartsPropsSchema>;
817
+ }
818
+ /**
819
+ * Header component with literal name discriminator
820
+ */
821
+ interface HeaderComponent {
822
+ name: 'header';
823
+ id?: string;
824
+ /** When false, this component is filtered out and not rendered. Defaults to true */
825
+ enabled?: boolean;
826
+ props: Static<typeof HeaderPropsSchema>;
827
+ }
828
+ /**
829
+ * Footer component with literal name discriminator
830
+ */
831
+ interface FooterComponent {
832
+ name: 'footer';
833
+ id?: string;
834
+ /** When false, this component is filtered out and not rendered. Defaults to true */
835
+ enabled?: boolean;
836
+ props: Static<typeof FooterPropsSchema>;
837
+ }
838
+ /**
839
+ * Text Box component with literal name discriminator
840
+ * Container for child components with floating positioning
841
+ */
842
+ interface TextBoxComponent {
843
+ name: 'text-box';
844
+ id?: string;
845
+ /** When false, this component is filtered out and not rendered. Defaults to true */
846
+ enabled?: boolean;
847
+ props: Static<typeof TextBoxPropsSchema>;
848
+ children?: ComponentDefinition[];
849
+ }
850
+ /**
851
+ * List component with literal name discriminator
852
+ */
853
+ interface ListComponent {
854
+ name: 'list';
855
+ id?: string;
856
+ /** When false, this component is filtered out and not rendered. Defaults to true */
857
+ enabled?: boolean;
858
+ props: Static<typeof ListPropsSchema>;
859
+ }
860
+ /**
861
+ * Table of Contents component with literal name discriminator
862
+ */
863
+ interface TocComponent {
864
+ name: 'toc';
865
+ id?: string;
866
+ /** When false, this component is filtered out and not rendered. Defaults to true */
867
+ enabled?: boolean;
868
+ props: Static<typeof TocPropsSchema>;
869
+ }
870
+ /**
871
+ * Text Space After component with literal name discriminator
872
+ */
873
+ interface TextSpaceAfterComponent {
874
+ name: 'text-space-after';
875
+ id?: string;
876
+ /** When false, this component is filtered out and not rendered. Defaults to true */
877
+ enabled?: boolean;
878
+ props: Static<typeof TextSpaceAfterPropsSchema>;
879
+ }
880
+ /**
881
+ * Union of all standard component types
882
+ */
883
+ type StandardComponentDefinition = ReportComponent | SectionComponent | ColumnsComponent | HeadingComponent | ParagraphComponent | TextBoxComponent | ImageComponent | HighchartsComponent | StatisticComponent | TableComponent | HeaderComponent | FooterComponent | ListComponent | TocComponent;
884
+ /**
885
+ * Array of all standard component names.
886
+ * Useful for iterating, validation, or displaying available components to users.
887
+ */
888
+ declare const STANDARD_COMPONENTS: readonly ["columns", "footer", "header", "heading", "highcharts", "image", "list", "paragraph", "docx", "section", "statistic", "table", "text-box", "toc"];
889
+ /**
890
+ * Set of all standard component names for O(1) lookup.
891
+ */
892
+ declare const STANDARD_COMPONENTS_SET: ReadonlySet<(typeof STANDARD_COMPONENTS)[number]>;
893
+ /**
894
+ * Complete discriminated union of all component types.
895
+ * TypeScript will automatically narrow the type based on the 'name' field.
896
+ *
897
+ * @example
898
+ * ```typescript
899
+ * const components: ComponentDefinition[] = [
900
+ * {
901
+ * name: 'heading', // TypeScript knows this is HeadingComponent
902
+ * props: {
903
+ * level: 2, // Autocomplete works!
904
+ * text: 'Title'
905
+ * }
906
+ * },
907
+ * {
908
+ * name: 'paragraph', // TypeScript knows this is ParagraphComponent
909
+ * props: {
910
+ * content: 'Hello World',
911
+ * bold: true // Autocomplete works!
912
+ * }
913
+ * }
914
+ * ];
915
+ * ```
916
+ */
917
+ type ComponentDefinition = StandardComponentDefinition | TextSpaceAfterComponent;
918
+ declare function isReportComponent(component: ComponentDefinition): component is ReportComponent;
919
+ declare function isSectionComponent(component: ComponentDefinition): component is SectionComponent;
920
+ declare function isColumnsComponent(component: ComponentDefinition): component is ColumnsComponent;
921
+ declare function isHeadingComponent(component: ComponentDefinition): component is HeadingComponent;
922
+ declare function isParagraphComponent(component: ComponentDefinition): component is ParagraphComponent;
923
+ declare function isImageComponent(component: ComponentDefinition): component is ImageComponent;
924
+ declare function isTextBoxComponent(component: ComponentDefinition): component is TextBoxComponent;
925
+ declare function isStatisticComponent(component: ComponentDefinition): component is StatisticComponent;
926
+ declare function isTableComponent(component: ComponentDefinition): component is TableComponent;
927
+ declare function isHeaderComponent(component: ComponentDefinition): component is HeaderComponent;
928
+ declare function isFooterComponent(component: ComponentDefinition): component is FooterComponent;
929
+ declare function isListComponent(component: ComponentDefinition): component is ListComponent;
930
+ declare function isTocComponent(component: ComponentDefinition): component is TocComponent;
931
+ declare function isHighchartsComponent(component: ComponentDefinition): component is HighchartsComponent;
932
+ declare function isTextSpaceAfterComponent(component: ComponentDefinition): component is TextSpaceAfterComponent;
933
+
934
+ type ThemeName = 'minimal' | 'verizon' | 'a2a' | 'hitachi';
935
+
936
+ declare const SHARED_DOCX_VERSION = "1.0.0";
937
+
938
+ export { type ColumnsComponent, ColumnsPropsSchema, type ComponentDefinition, ComponentDefinitionSchema, type CoreValidationResult, ValidationError as DocumentValidationError, DocumentValidationResult, type FooterComponent, FooterPropsSchema, type FormattedError, type HeaderComponent, HeaderPropsSchema, type HeadingComponent, HeadingPropsSchema, type HighchartsComponent, HighchartsPropsSchema, type ImageComponent, ImagePropsSchema, JsonDocumentParser, JsonParsingError, JsonValidationError, type ListComponent, ListPropsSchema, type ParagraphComponent, ParagraphPropsSchema, type ReportComponent, ReportPropsSchema, SHARED_DOCX_VERSION, STANDARD_COMPONENTS, STANDARD_COMPONENTS_SET, type SectionComponent, SectionPropsSchema, type StandardComponentDefinition, type StandardComponentName, type StatisticComponent, StatisticPropsSchema, type TableComponent, TablePropsSchema, type TextBoxComponent, TextBoxPropsSchema, type TextSpaceAfterComponent, TextSpaceAfterPropsSchema, type ThemeName, type TocComponent, TocPropsSchema, createValidatedComponent, formatErrorReport, formatValidationError, formatValidationErrorStrings, formatValidationErrors, getErrorSummary, getValidationContext, getValidationErrors, hasCriticalErrors, isColumnsComponent, isFooterComponent, isHeaderComponent, isHeadingComponent, isHighchartsComponent, isImageComponent, isListComponent, isParagraphComponent, isReportComponent, isSectionComponent, isStatisticComponent, isTableComponent, isTextBoxComponent, isTextSpaceAfterComponent, isTocComponent, isValidComponent, parseJsonComponent, parseJsonWithLineNumbers, safeValidateComponentDefinition, safeValidateComponentProps, transformAndValidate, validateComponent, validateComponentDefinition, validateComponents };