/**
 * Notas: en image_cuts, la idea es que sea un array de objetos con las propiedades que tenga sergio en limbo
 * 
 */
export interface ComponentMetadata {
  name: string;
  description: string;
  category: 'CTA' | 'Contenido de Texto' | 'Contenido de Imagen' | 'Contenido con listas' | 'Separador' | 'Header' | 'Footer' | 'Imagen' | 'Formulario' | 'Título' | 'TEST';
  framework: 'Astro' | 'Vue' | 'React';
  component_name: string,
  priority?: number;
  tags?: string[];
  [key: string]: any; // para extensibilidad
  fields?: Array<{
    name: string;
    type: string;
    help?: string;
    label: string;
    mandatory?: boolean;
    options?: (string | number)[];
    options_labels?: string[];
    example_value?: string | number | boolean;
    image_cuts?: object[];
    exclusive_group?: string;
    exclusive_group_label?: string;
    items?: {
      type: string;
      example_value?: (string | number | boolean)[];
      fields?: Array<{
        name: string;
        type: string;
        help?: string;
        label: string;
        example_value?: string | number | boolean;
        options?: (string | number)[];
        options_labels?: string[];
      }>;
    };
  }>;
  view?: string;
  repeat_data?: object|null;
}