import { Component, ReactNode } from 'react';
import { TypeaheadOption, TypeaheadProps } from '../Typeahead';
export type TypeaheadInputProps<T> = {
    typeaheadId: string;
    value: string;
    selected: readonly TypeaheadOption<T>[];
    dropdownOpen?: boolean;
    autoComplete: string;
    onChange: React.ChangeEventHandler<HTMLInputElement>;
    onKeyDown: React.KeyboardEventHandler<HTMLInputElement>;
    onFocus: () => void;
    onPaste: React.ClipboardEventHandler<HTMLInputElement>;
    renderChip: (chip: TypeaheadOption<T>, index: number) => ReactNode;
    ariaActivedescendant?: string;
} & Pick<TypeaheadProps<T>, 'id' | 'name' | 'autoFocus' | 'multiple' | 'placeholder' | 'maxHeight'>;
type TypeaheadInputState = {
    inputWidth: number;
    keyboardFocusedOptionIndex: number | null;
};
export default class TypeaheadInput<T> extends Component<TypeaheadInputProps<T>, TypeaheadInputState> {
    inputRef: import("react").RefObject<HTMLInputElement>;
    sizerRef: import("react").RefObject<HTMLDivElement>;
    constructor(props: TypeaheadInputProps<T>);
    componentDidMount(): void;
    componentDidUpdate(previousProps: TypeaheadInputProps<T>): void;
    recalculateWidth: () => void;
    renderInput: () => import("react").JSX.Element;
    render(): import("react").JSX.Element;
}
export {};
//# sourceMappingURL=TypeaheadInput.d.ts.map