import { Dispatch, ReactNode, SetStateAction } from 'react';
import { ILabel, IOperator, KeywordOperator, IMenuOptionChild, PanelPlacement, TextValue, ITemplate, IMenuOptionPrototype } from './typings';
import { AlignType } from 'rc-trigger/lib/interface';
import { Input } from 'bonree-design';
export declare const DefaultFilterLabel: ILabel;
export declare const MenuKeyword = "__menu_keyword__";
export declare const KOperator: {
    __menu_keyword__: undefined;
};
export declare const BONREE_FILTER_QUERY_MODE_KEYWORD = "bonree_filter_query_mode_keyword";
export declare const NotFinish: {
    show: number;
    showPlaceholder: number;
    hide: number;
};
export interface FilterLocale {
    enter?: string;
    enterContextFilter?: string;
    selectContextFilter?: string;
    selectStartTime?: string;
    selectEndTime?: string;
    selectTime?: string;
    enterNumber?: string;
    enterNumberOnPopOver?: string;
    save?: string;
    cancel?: string;
    noData?: string;
    maxlabel?: (maxLabel: number) => string;
    maxNumber?: (max: number) => string;
    startLessThenEnd?: string;
    rulesIsArray?: string;
    placeholder?: string;
    addTemplateTip?: string;
    nameNotEmpty?: string;
    toEdit?: string;
    Incomplete?: string;
    all?: string;
    noEffective?: string;
    keyword?: string;
    searchKeyword?: string;
    timeEqualTip?: string;
    timeTip?: string;
    createQuickFilter?: string;
    name?: string;
    filterConditions?: string;
    delete?: string;
    confirmDelete?: string;
    confirmDeleteTip?: string;
    templateModalTip?: string;
    quickFilter?: string;
    recentlyUsed?: string;
    nameMax?: string;
    notNull?: string;
    addSuccess?: string;
    operatedSuccess?: string;
    addFailed?: string;
    operatedFailed?: string;
}
export interface Locale {
    locale: string;
    Filter?: FilterLocale;
}
export interface FilterContextProps {
    placeholder?: string;
    displayKeyword: string;
    setDisplayKeyword: Dispatch<SetStateAction<string>>;
    addLabel: (label: ILabel, isFilter?: boolean, isClickEmptyBlur?: boolean) => void;
    clearLabel: () => void;
    deleteLabel: (keyword: string) => void;
    showFilterMenu: () => void;
    displayoperator?: KeywordOperator;
    setDisplayoperator: (value: KeywordOperator) => void;
    filterId: string;
    setFilterId: (value: string) => void;
    customOperators?: IOperator[];
    setCustomOperators?: (value: IOperator[]) => void;
    complete?: boolean;
    setComplete?: (value: boolean) => void;
    options: IMenuOptionChild[];
    setOptions: (value: IMenuOptionChild[]) => void;
    labels: ILabel[];
    icon?: React.ReactNode;
    suffix?: React.ReactNode;
    autoAdjustOverflow?: boolean;
    getPopupContainer?: (triggerNode: HTMLElement) => HTMLElement;
    placement?: PanelPlacement;
    editLabels: (value: ILabel, isClickEmptyBlur?: boolean) => void;
    align?: AlignType;
    isEdit: boolean;
    disabled: boolean;
    queryKeyword?: boolean;
    queryMultipleKeyword?: boolean;
    lang?: Locale;
    FilterActiveStyle?: {
        border?: string;
        boxShadow?: string;
    };
    onInputRef?: (ref: React.RefObject<Input>) => void;
    deleteCustomKeyWord: string;
    updateDeleteKeyWord: (value: string) => void;
    realSearch?: boolean;
    onInputSearch?: (value: string) => void;
    inputText?: string;
    setInputText: (value: string) => void;
    lastInput?: string;
    setLastInput?: (value: string) => void;
    blurOk: () => void;
    collapsed: boolean;
    handlePanelCancel: () => void;
    onOperatorSelect?: (keyword: string, option: IOperator) => void;
    tagNameRender?: (prop: TextValue) => ReactNode;
    onDeleteTemplate?: (value: ITemplate) => void;
    handleReplaceAll: (replaceItem: ILabel[]) => void;
    isTemplate?: boolean;
    menuType?: IMenuOptionPrototype;
    setMenuType?: (value?: IMenuOptionPrototype) => void;
}
declare const FilterContext: import("react").Context<FilterContextProps>;
export default FilterContext;
