export interface TableColumn {
    field: string;
    header: string;
    type: 'text' | 'number' | 'date' | 'boolean' | 'select';
    sortable?: boolean;
    width?: string;
}
export interface FormField {
    field: string;
    label: string;
    type: 'text' | 'number' | 'email' | 'password' | 'textarea' | 'select' | 'checkbox' | 'date';
    required?: boolean;
    validators?: string[];
    options?: {
        label: string;
        value: any;
    }[];
    placeholder?: string;
}
export interface FilterField {
    field: string;
    label: string;
    type: 'text' | 'number' | 'select' | 'date';
    options?: {
        label: string;
        value: any;
    }[];
}
export interface ExportField {
    field: string;
    header: string;
}
export interface EntityConfig<T = unknown> {
    entityName: string;
    entityDisplayName: string;
    entityDisplayNamePlural: string;
    apiEndpoint: string;
    tableColumns: TableColumn[];
    formFields?: FormField[];
    filterFields: FilterField[];
    exportFields: ExportField[];
}
