import { Column, ColumnComparator, ColumnUserFilterEventMap, ColumnUserFilterModel, FilterFieldsGroupBox, SomeRequired, TableMatrix, TableMatrixDateGroup, TableMatrixKeyAxis, TableMatrixNumberGroup, TableRow, TableUserFilter, TableUserFilterAddedEventData, TableUserFilterRemovedEventData } from '../../index';
export declare class ColumnUserFilter extends TableUserFilter implements ColumnUserFilterModel {
    model: ColumnUserFilterModel;
    initModel: SomeRequired<this['model'], 'session' | 'table' | 'column'>;
    eventMap: ColumnUserFilterEventMap;
    self: ColumnUserFilter;
    column: Column<any>;
    hasFilterFields: boolean;
    availableValues: ColumnUserFilterValues[];
    selectedValues: (string | number)[];
    matrix: TableMatrix;
    xAxis: TableMatrixKeyAxis;
    constructor();
    static TYPE: string;
    axisGroup(): TableMatrixNumberGroup | TableMatrixDateGroup;
    calculate(): void;
    createFilterAddedEventData(): TableUserFilterAddedEventData;
    createFilterRemovedEventData(): TableUserFilterRemovedEventData;
    createLabel(): string;
    createKey(): string;
    accept(row: TableRow): boolean;
    filterActive(): boolean;
    tableFilterActive(): boolean;
    triggerFilterFieldsChanged(): void;
    /**
     * Returns whether the given key is accepted by the filter-fields in their current state.
     * The default impl. returns true.
     */
    acceptByFields(key: any, normKey: number | string, row: TableRow): boolean;
    /**
     * Returns whether filter-fields have an effect on the column-filter in their current state.
     * The default impl. returns false.
     */
    fieldsFilterActive(): boolean;
    /**
     * Adds filter fields for this type of column filter.
     * The default impl. adds no fields.
     */
    addFilterFields(groupBox: FilterFieldsGroupBox): void;
    /**
     * Called after filter group-box has been rendered.
     * Gives the filter impl. a chance to modify the rendered fields.
     * The default impl. does nothing.
     */
    modifyFilterFields(): void;
    /**
     * Returns the title displayed above the filter fields.
     * The default impl. returns a null value, which means the title is not displayed.
     */
    filterFieldsTitle(): string;
    createComparator(): ColumnComparator;
    formatText(key: number): string;
}
export type ColumnUserFilterValues = {
    key?: string | number;
    text?: string;
    iconId?: string;
    htmlEnabled?: boolean;
    cssClass?: string;
    count: number;
};
//# sourceMappingURL=ColumnUserFilter.d.ts.map