import type { ListTable, PivotTable } from '@visactor/vtable';
import type { FilterStateManager } from './filter-state-manager';
import { ValueFilter } from './value-filter';
import { ConditionFilter } from './condition-filter';
import type { FilterMode } from './types';
export declare class FilterToolbar {
    table: ListTable | PivotTable;
    filterStateManager: FilterStateManager;
    valueFilter: ValueFilter | null;
    conditionFilter: ConditionFilter | null;
    activeTab: 'byValue' | 'byCondition';
    isVisible: boolean;
    selectedField: string | number | null;
    filterModes: FilterMode[];
    private filterMenu;
    private filterMenuWidth;
    private filterTabByValue;
    private filterTabByCondition;
    private clearFilterOptionLink;
    private cancelFilterButton;
    private applyFilterButton;
    constructor(table: ListTable | PivotTable, filterStateManager: FilterStateManager);
    private onTabSwitch;
    private updateSelectedField;
    private applyFilter;
    private clearFilter;
    render(container: HTMLElement): void;
    attachEventListeners(): void;
    show(col: number, row: number, filterModes: FilterMode[]): void;
    hide(): void;
}
