import { ReactNode } from 'react';
import { PageAsyncQueryErrorText, PageAsyncSelectOptionsFn } from '../../PageInputs/PageAsyncSelectOptions';
import { ToolbarFilterType } from '../PageToolbarFilter';
import { ToolbarFilterCommon } from './ToolbarFilterCommon';
type ToolbarOpenSingleSelectBrowse = (onSelect: (value: string) => void, defaultSelection?: string) => void;
export interface IToolbarAsyncSingleSelectFilter extends ToolbarFilterCommon {
    type: ToolbarFilterType.AsyncSingleSelect;
    queryOptions: PageAsyncSelectOptionsFn<string>;
    queryPlaceholder?: string;
    queryErrorText?: PageAsyncQueryErrorText;
    openBrowse?: ToolbarOpenSingleSelectBrowse;
    queryLabel: (value: string) => ReactNode;
    isRequired?: boolean;
    disableSortOptions?: boolean;
}
export declare function singleSelectBrowseAdapter<T>(selectFn: (onItemSelect: (itemValue: T) => void, itemDefaultSelection?: T) => void, keyFn: (item: T) => string, objectFn: (name: string) => object, customOnSelect?: (item: T) => void): ToolbarOpenSingleSelectBrowse;
export {};
