import { Filter, FilterOperator, OperatorFilterValue } from '@wix/bex-core';
import { FilterToolbarState } from '../providers';
export interface OperatorFilterPickerStateParams<T> {
    toolbar: FilterToolbarState;
    filter: Filter<OperatorFilterValue<T>>;
    /**
     * Debounce delay in milliseconds before applying filter changes
     * @default 300
     */
    debounceMs?: number;
}
export declare class OperatorFilterPickerState<T> {
    readonly toolbar: FilterToolbarState;
    readonly _filter: OperatorFilterPickerStateParams<T>['filter'];
    private readonly debouncedRefresh;
    operator: FilterOperator;
    value: T | null;
    get filter(): Filter<any> | Filter<OperatorFilterValue<T>>;
    constructor(params: OperatorFilterPickerStateParams<T>);
    get isEmpty(): boolean;
    get currentValue(): OperatorFilterValue<T>;
    init(): () => void;
    remove(): void;
    setOperator(operator: FilterOperator): void;
    setValue(value: T | null): void;
    /**
     * Called when value changes - debounced
     */
    onChange(): void;
    /**
     * Apply filter changes immediately (used for operator changes)
     */
    applyImmediately(): void;
    private refreshIfChanged;
    /**
     * Check if the given operator requires a value input
     */
    operatorNeedsValue(): boolean;
}
//# sourceMappingURL=OperatorFilterPickerState.d.ts.map