import { ReactNode } from 'react';
import { PageAsyncQueryErrorText, PageAsyncSelectOptionsFn } from '../../PageInputs/PageAsyncSelectOptions';
import { ToolbarFilterType } from '../PageToolbarFilter';
import { ToolbarFilterCommon } from './ToolbarFilterCommon';
type ToolbarOpenMultiSelectBrowse = (onSelect: (values: string[]) => void, defaultSelections?: string[]) => void;
export interface IToolbarAsyncMultiSelectFilter extends ToolbarFilterCommon {
    type: ToolbarFilterType.AsyncMultiSelect;
    queryOptions: PageAsyncSelectOptionsFn<string>;
    queryPlaceholder?: string;
    queryErrorText?: PageAsyncQueryErrorText;
    queryLabel: (value: string) => ReactNode;
    openBrowse?: ToolbarOpenMultiSelectBrowse;
    isRequired?: boolean;
    disableSortOptions?: boolean;
    useAndOperator?: boolean;
}
export declare function multiSelectBrowseAdapter<T>(selectFn: (onItemsSelect: (itemValue: T[]) => void, itemDefaultSelections?: T[]) => void, keyFn: (item: T) => string, objectFn: (name: string) => object, customOnSelect?: (items: T[]) => void): ToolbarOpenMultiSelectBrowse;
export {};
