import React from 'react';
import { AriaAttributeProps } from '../utils.js';
export type TypeaheadModel = string | object;
export type TypeaheadLabelKey<T> = (option: T) => React.ReactChild | React.ReactFragment;
export type TypeaheadProps<T extends TypeaheadModel> = {
    allowNew?: T extends object ? never : boolean;
    clearable?: boolean;
    disableSorting?: boolean;
    disabled?: boolean;
    id?: string;
    isLoading?: boolean;
    labelKey?: TypeaheadLabelKey<T>;
    multiple?: boolean;
    onBlur?: () => void;
    onChange?: (selected: T[]) => void;
    options: T[];
    placeholder?: string;
    selected?: T[];
    sortBy?: (left: T, right: T) => number;
} & AriaAttributeProps;
declare function Typeahead<T extends TypeaheadModel>({ allowNew, disableSorting, labelKey, options, sortBy, clearable, ...otherProps }: TypeaheadProps<T>): React.JSX.Element;
export default Typeahead;
