import type { ListTable, PivotTable } from '@visactor/vtable';
import type { FilterStyles } from './types';
import type { FilterStateManager } from './filter-state-manager';
export declare class ValueFilter {
    private table;
    private filterStateManager;
    private styles;
    private uniqueKeys;
    private displayToRawValueMap;
    private selectedField;
    private valueFilterOptionList;
    private filterByValuePanel;
    private filterByValueSearchInput;
    private selectAllCheckbox;
    private filterItemsContainer;
    constructor(table: ListTable | PivotTable, filterStateManager: FilterStateManager, styles: FilterStyles);
    private updateUI;
    setSelectedField(fieldId: string | number): void;
    collectUniqueColumnValues(fieldId: string | number): void;
    private updateCandidateCounts;
    private onValueSelect;
    private isValueVisible;
    private toggleSelectAll;
    private onSearch;
    private initFilterStateFromTableData;
    private syncCheckboxesWithFilterState;
    private syncSelectAllWithFilterState;
    applyFilter(fieldId?: string | number): void;
    clearFilter(fieldId: string | number): void;
    render(container: HTMLElement): void;
    private renderFilterOptions;
    bindEventForFilterByValue(): void;
    show(): void;
    hide(): void;
}
