import { ValidatorFn } from '@angular/forms'; export declare type TableColumn = TableColumnNoFilter | TableColumnFilter | EditableColumn; export interface TableColumnNoFilter { show: string; noFilter: true; } export interface TableColumnFilter { name: keyof T & string; show?: string; type?: TableColumnFilterTypes; backgroundColor?: string; } export declare type TableColumnFilterTypes = 'date' | 'datetime' | 'yesNo' | 'number' | 'textarea' | 'select' | 'selectComponent'; export declare type EditableColumn = EditableColumnInput | EditableColumnSelect | TableColumnNoFilter; export interface EditableColumnInput extends TableColumnFilter { hidden?: true; readonly?: true | string[]; isInsertOnly?: true; defaultValue?: any; validators?: ValidatorFn[]; is_Range?: true; } export interface EditableColumnSelect extends EditableColumnInput { type: 'selectComponent' | 'select'; values: ColumnSelectValue[] | string[]; } export interface ColumnSelectValue { value: string; show?: string; } export interface Section { sections?: Section[]; title: string; columns?: TableColumn[]; isHidden?: true; backgroundColor?: string; } export declare function isFilterableColumn(column: EditableColumn): column is EditableColumnInput | EditableColumnSelect; export declare function isColumnSelect(column: TableColumnFilter): column is EditableColumnSelect;