import React, { ReactNode } from 'react';
import { WrappedComponentProps } from 'react-intl';
import { SizeMedium, SizeLarge } from '../common';
import { InlineAlertProps } from '../inlineAlert/InlineAlert';
export type TypeaheadOption<T = string> = {
    label: string;
    note?: string;
    secondary?: string;
    value?: T;
    clearQueryOnSelect?: boolean;
    keepFocusOnSelect?: boolean;
};
export interface TypeaheadProps<T> extends Partial<WrappedComponentProps> {
    id: string;
    name: string;
    addon?: ReactNode;
    alert?: {
        message: InlineAlertProps['children'];
        type?: InlineAlertProps['type'];
    };
    allowNew?: boolean;
    autoFillOnBlur?: boolean;
    autoFocus?: boolean;
    chipSeparators?: readonly string[];
    clearable?: boolean;
    footer?: ReactNode;
    initialValue?: readonly TypeaheadOption<T>[];
    inputAutoComplete?: string;
    maxHeight?: number;
    minQueryLength?: number;
    placeholder?: string;
    multiple?: boolean;
    options: readonly TypeaheadOption<T>[];
    searchDelay?: number;
    showSuggestions?: boolean;
    showNewEntry?: boolean;
    size?: SizeMedium | SizeLarge;
    onBlur?: () => void;
    onChange: (options: TypeaheadOption<T>[]) => void;
    onFocus?: () => void;
    onInputChange?: (query: string) => void;
    onSearch?: (query: string) => void;
    validateChip?: (chip: TypeaheadOption<T>) => boolean;
}
declare const _default: <T>(props: TypeaheadProps<T>) => React.ReactElement;
export default _default;
//# sourceMappingURL=Typeahead.d.ts.map