import type { ListTable, PivotTable } from '@visactor/vtable';
import type { FilterStateManager } from './filter-state-manager';
import type { OperatorOption, FilterStyles, FilterOptions } from './types';
export declare class ConditionFilter {
    private table;
    private filterStateManager;
    private styles;
    private filterByConditionPanel;
    private conditionContainer;
    private categoryLabel;
    private selectedField;
    private operatorSelect;
    private valueInput;
    private andLabel;
    private valueInputMax;
    private categorySelect;
    private operatorLabel;
    private rangeInputContainer;
    private valueLabel;
    private currentCategory;
    private categories;
    protected operators: OperatorOption[];
    constructor(table: ListTable | PivotTable, filterStateManager: FilterStateManager, pluginOptions: FilterOptions);
    setSelectedField(fieldId: string | number): void;
    private updateOperatorOptions;
    private handleCategoryChange;
    private loadCurrentFilterState;
    reset(): void;
    private syncUIState;
    private isBooleanOperator;
    private isRangeOperator;
    applyFilter(fieldId?: string | number): void;
    clearFilter(fieldId: string | number): void;
    render(container: HTMLElement): void;
    updatePluginOptions(filterOptions: FilterOptions): void;
    updateStyles(styles: FilterStyles): void;
    private bindEvents;
    show(): void;
    hide(): void;
}
