import { ButtonInterface } from "./button-interface"; export interface FormLayoutConfig { fieldsPerRow?: number; initialVisibleFields?: number; conditionalFields?: { showWhen: (formData: any) => boolean; fields: number[]; }; fieldGroups?: Array<{ fields: number[]; layout: 'horizontal' | 'vertical'; className?: string; width?: string; title?: string; }>; formClassName?: string; } export interface FormFieldConfig { label: string; type: 'text' | 'select' | 'multiselect' | 'textarea' | 'checkbox' | 'radio'; placeholder?: string; options?: { label: string; value: string; name?: string; }[]; value?: any; required?: boolean; multiple?: boolean; visible?: boolean; validation?: { required?: boolean; pattern?: string; minLength?: number; maxLength?: number; email?: boolean; }; className?: string; width?: string; disabled?: boolean; readonly?: boolean; } export interface UnifiedFormConfig { fields: any[]; layout?: FormLayoutConfig; divider?: { enabled: boolean; title?: string; subtitle?: string; showSubtitleWhenEmpty?: boolean; }; chips?: any[]; customButton?: ButtonInterface[]; }