/** * Component Normalizer - Transforms JSON components where business logic requires it * * This module ONLY handles transformations that are actually necessary: * 1. Columns shorthand notation (columns: 3 → array format) * 2. Recursive processing of nested components * 3. Gap application for columns * * All other properties are preserved as-is from TypeBox validation. * This prevents information loss and maintains single source of truth. */ import { ComponentDefinition, ReportComponentDefinition } from '../types'; /** * Normalize a component definition and its nested children * Preserves all validated properties - only transforms where business logic requires */ export declare function normalizeComponent(component: ComponentDefinition): ComponentDefinition; /** * Normalize entire document (top-level report component) * Returns as single-element tuple for backward compatibility */ export declare function normalizeDocument(document: ComponentDefinition | ReportComponentDefinition): [ReportComponentDefinition]; /** * Validate component structure (container vs content components) */ export declare function validateComponentStructure(component: any): { valid: boolean; errors: string[]; }; //# sourceMappingURL=normalizer.d.ts.map