interface UIFrameworkOptions { theme?: "light" | "dark" | string; locale?: string; hydrationStrategy?: "eager" | "lazy" | "visible"; baseUrl?: string; } interface ComponentMeta { id: string; type: string; props: Record; hydrate?: boolean; } interface GridColumn { field: string; label: string; width?: string | number; sortable?: boolean; filterable?: boolean; type?: "text" | "number" | "date" | "boolean" | "custom"; align?: "left" | "center" | "right"; } interface GridProps { columns: GridColumn[]; data: Record[]; pagination?: boolean | PaginationOptions; sorting?: boolean; filtering?: boolean; selection?: "none" | "single" | "multiple"; rowKey?: string; emptyText?: string; loading?: boolean; className?: string; } interface PaginationOptions { pageSize?: number; pageSizes?: number[]; showTotal?: boolean; } interface GridState { currentPage: number; pageSize: number; sortField: string | null; sortDirection: "asc" | "desc"; filters: Record; selectedRows: string[]; } interface FormField { name: string; label: string; type: "text" | "email" | "password" | "number" | "textarea" | "select" | "checkbox" | "radio" | "date"; placeholder?: string; required?: boolean; disabled?: boolean; options?: { value: string; label: string; }[]; defaultValue?: unknown; } interface FormProps { fields: FormField[]; values?: Record; action?: string; method?: "GET" | "POST"; layout?: "vertical" | "horizontal" | "inline"; submitLabel?: string; resetLabel?: string; showReset?: boolean; className?: string; } interface FormState { values: Record; errors: Record; touched: Record; isSubmitting: boolean; isValid: boolean; } interface ModalProps { title?: string; size?: "sm" | "md" | "lg" | "xl" | "fullscreen"; closable?: boolean; closeOnOverlay?: boolean; closeOnEscape?: boolean; showFooter?: boolean; className?: string; } interface DatePickerProps { name: string; label?: string; value?: string | Date; min?: string | Date; max?: string | Date; format?: string; placeholder?: string; required?: boolean; disabled?: boolean; className?: string; } export type { ComponentMeta, DatePickerProps, FormField, FormProps, FormState, GridColumn, GridProps, GridState, ModalProps, PaginationOptions, UIFrameworkOptions };