/** A single component row for the structured DB table. */ export interface ComponentRow { name: string; /** Catalog-meta enrichment fields (not part of ComponentConfig) */ description?: string; sourceFile?: string; layers?: string[]; events?: string[]; styleGroup?: string; /** ComponentConfig fields — stored as-is from the resolved config */ base: Record>; /** Prop bindings (`variant({...})`, `boolean()`, style-prop shorthands, etc.) * keyed by JSX prop name. Stored as raw discriminated objects. */ props?: Record>; /** JSX-level prop defaults — replaces the old `defaultVariants`. */ defaultProps?: Record; /** Per-combination layer overrides — replaces the old `compoundVariants`. */ compoundProps?: Array<{ when: Record; layers: Record>; }>; } /** A single token row for the structured DB table. */ export interface TokenRow { property: string; name: string; css_variable: string; } /** A single modifier row for the structured DB table. */ export interface ModifierRow { prop: string; css_selector: string; category: string; description: string; } /** A single example row for the structured DB table. */ export interface ExampleRow { /** Component name this example belongs to */ componentName: string; /** Example key (e.g. 'default', 'anatomy') */ exampleKey: string; /** Variant axis to iterate (undefined for static examples) */ each?: string; /** CSS properties for the wrapper element */ layout: Record; /** Per-variant-value prop overrides */ props?: Record>; } /** Structured data produced by codegen for DB persistence. */ export interface StructuredData { components: ComponentRow[]; tokens: TokenRow[]; modifiers: ModifierRow[]; examples: ExampleRow[]; }