import { FormPiece } from '../piece';
import { ColumnDefinition, IFormConfig } from '../../../interfaces/form-config.interface';
export interface FilterDef {
    operators: string[];
    options: any[];
}
export interface FilterSetup {
    fieldCode: string;
    operator: string;
    values: any[];
}
export declare class RecordTableColumn extends FormPiece {
    fieldCode: string;
    fieldTitle: string;
    fieldType: string;
    fieldAlignment: string;
    fieldFormat: string;
    sortable: boolean;
    searchable: boolean;
    sortDirections: string[];
    filterVisible: boolean;
    filterDef: FilterDef | null;
    filterSetup: FilterSetup | null;
    constructor(recTableColReceived: ColumnDefinition, formConfig: IFormConfig);
    setSearchable(searchable?: boolean): void;
    hideFilter(): void;
    addFilterDefinition(filterDefinition: any): void;
    get filterDefinition(): FilterDef | null;
    addFilter(columnValues: any, operator: string | null): void;
    get filter(): FilterSetup | null;
    removeFilter(): void;
    get options(): any[] | null;
    setSortDirections(ascend: boolean, descend: boolean): void;
}
