import { TemplateRef } from '@angular/core';
import { DynamicFormFieldConfig, DynamicFormFieldSize, DynamicFormSection } from '../components/dynamic-form/models/dynamic-form.models';
/**
 * Column configuration for entity list table
 */
export interface ColumnConfig {
    field: string;
    header: string;
    sortable?: boolean;
    width?: string;
    type?: 'text' | 'number' | 'status' | 'custom';
    customTemplate?: TemplateRef<any>;
}
/**
 * Lookup column configuration
 */
export interface LookupColumn {
    field: string;
    header: string;
    width?: string;
    type?: 'text' | 'number';
}
/**
 * @deprecated Use DynamicFormFieldConfig instead
 */
export type FilterConfig = DynamicFormFieldConfig;
/**
 * @deprecated Use DynamicFormFieldSize instead
 */
export type FilterFieldSize = DynamicFormFieldSize;
/**
 * @deprecated Use DynamicFormSection instead
 */
export type FilterSection = DynamicFormSection;
/**
 * @deprecated Use DynamicFormFieldConfig instead
 */
export type FormFieldConfig = DynamicFormFieldConfig;
/**
 * Entity list configuration
 */
export interface EntityListConfig {
    entityName: string;
    entityIcon: string;
    subtitle: string;
    columns: ColumnConfig[];
    filters: DynamicFormFieldConfig[];
    filterFields?: DynamicFormSection[];
    formFields: DynamicFormFieldConfig[];
    exportEnabled?: boolean;
    bulkDeleteEnabled?: boolean;
    addButtonLabel?: string;
}
