import { AutocompleteProps } from '../Autocomplete';
export type DynamicAutocompleteProps<T> = {
    /**
     * Execute your API call to retrieve your list of options
     * @param searchInput Search string entered by the user
     * @returns List of options T[]
     */
    onFilter: (searchInput: string) => Promise<T[]>;
    /**
     * Callback when `onFilter` fails
     * @param error Error thrown by retrieving the list of options (onFilter)
     */
    onFilterError: (error: any) => void;
    /**
     * Fetches when the users input is at least `fetchOnCount` characters long. Default is 1. Recommend no larger than 3.
     */
    fetchOnCount?: number;
    /**
     * This message displays in the dropdown when the user input is empty, or less than `fetchOnCount` to let the
     * user know they need to input more characters to get options back.
     *
     * @default the message defined in `noOptionsText` is used
     */
    preFilterMessage?: string;
} & Omit<AutocompleteProps<T>, 'options' | 'useFieldAsValue'>;
/**
 * Like a normal Autocomplete, but filters the options as the user types (intended for server-side filtering).
 *
 * Useful when you have thousands of options, as it reduces the memory load and amount of data coming over the network.
 */
export declare const DynamicAutocomplete: <T>(props: DynamicAutocompleteProps<T>) => import("react/jsx-runtime").JSX.Element;
