import * as React from 'react';
import type { Flow } from 'flow-to-typescript-codemod';
import type { IconType } from '../Icon';
import type { InputOnChangeParamsType } from '../Input';
import type { MenuOption, MenuProps } from '../Menu';
type InputClassNames = Readonly<{
    box?: string;
    iconLeft?: string;
    iconRight?: string;
    wrapper?: string;
}>;
type DropdownClassNames = Readonly<{
    wrapper?: string;
    box?: string;
    iconRight?: string;
}>;
type ClassNames = Readonly<{
    wrapper?: string;
    box?: string;
    input?: InputClassNames;
    dropdown?: DropdownClassNames;
}>;
export type ComboboxProps = {
    classNames?: ClassNames;
    disabled?: boolean;
    type?: 'text' | 'tel';
    label?: string | React.ReactNode;
    size?: 'medium' | 'small';
    onContainerClick?: ((arg1: React.SyntheticEvent<HTMLElement>) => unknown) | null | undefined;
    locked?: boolean;
    error?: boolean;
    errorText?: string;
    helperText?: string | React.ReactNode;
    required?: boolean;
    readOnly?: boolean;
    boxRef?: (arg1?: HTMLElement | null | undefined) => unknown;
    value: {
        dropdown?: string;
        input?: string;
    };
    onChange: (arg1: {
        input: string;
        dropdown: string;
        inputChange?: InputOnChangeParamsType;
        dropdownOption?: MenuOption;
    }) => unknown;
    inputPlaceholder?: string;
    onInputFocus?: (e: React.ChangeEvent<HTMLInputElement>) => unknown;
    onInputBlur?: (e: React.ChangeEvent<HTMLInputElement>) => unknown;
    onInputKeyDown?: (e: React.KeyboardEvent<HTMLInputElement>) => unknown;
    onInputContainerClick?: ((arg1: React.SyntheticEvent<HTMLElement>) => unknown) | null | undefined;
    inputName?: string;
    iconLeftName?: string;
    iconLeftType?: IconType;
    iconRightName?: string;
    iconRightType?: IconType;
    onIconRightClick?: ((arg1: React.SyntheticEvent<HTMLElement>) => unknown) | null | undefined;
    inputBoxRef?: (arg1?: HTMLElement | null | undefined) => unknown;
    minLength?: string;
    maxLength?: string;
    pattern?: string;
    min?: string;
    max?: string;
    menu?: MenuProps;
    onMenuOpen?: () => unknown;
    onMenuClose?: () => unknown;
    scrollMenuToBottom?: boolean;
    onDropdownFocus?: (e: React.ChangeEvent<HTMLInputElement>) => unknown;
    onDropdownBlur?: (e: React.ChangeEvent<HTMLInputElement>) => unknown;
    onDropdownKeyDown?: (e: React.KeyboardEvent<HTMLInputElement>) => unknown;
    onDropdownContainerClick?: ((arg1: React.SyntheticEvent<HTMLElement>) => unknown) | null | undefined;
    dropdownName?: string;
    dropdownPlaceholder?: string;
    dropdownBoxRef?: (arg1?: HTMLElement | null | undefined) => unknown;
};
export declare const Combobox: Flow.AbstractComponent<ComboboxProps, HTMLDivElement>;
export {};
//# sourceMappingURL=Combobox.d.ts.map