export function DEFAULT_VALUE_PARSER(option: any): any;
export namespace DEFAULT_POPOVER_PROPS {
    let appendTo: string;
    let flip: boolean;
    let fixed: boolean;
    let placement: string;
    let width: string;
    let minWidth: number;
    let onMouseEnter: undefined;
    let onMouseLeave: undefined;
}
export default InputWithOptions;
declare class InputWithOptions extends React.Component<any, any, any> {
    constructor(props: any);
    inputClasses(): void;
    dropdownClasses(): void;
    dropdownAdditionalProps(): void;
    inputAdditionalProps(): void;
    rootAdditionalProps(): {};
    /**
     * An array of key codes that act as manual submit. Will be used within
     * onKeyDown(event).
     *
     * @returns {KeyboardEvent.key[]}
     */
    getManualSubmitKeys(): KeyboardEvent.key[];
    state: {
        inputValue: any;
        showOptions: boolean;
        lastOptionsShow: number;
        isEditing: boolean;
    };
    uniqueId: string;
    _onSelect(option: any, isSelectedOption: any): void;
    _onFocus(e: any): void;
    _onBlur(event: any): void;
    _onChange(event: any): void;
    _onKeyDown(event: any): void;
    /**
     * Sets focus on the input element
     * @param {FocusOptions} options
     */
    focus(options?: FocusOptions): void;
    /**
     * Removes focus on the input element
     */
    blur(): void;
    /**
     * Selects all text in the input element
     */
    select(): void;
    /**
     * Hides dropdown options
     */
    hideOptions(): void;
    /**
     * Shows dropdown options
     */
    showOptions(): void;
    _onManuallyInput(inputValue?: string): void;
    _renderDropdownLayout(additionalProps: any): React.JSX.Element;
    isDropdownLayoutVisible(): any;
    _onInputClicked(event: any, mobile: any): void;
    _onOpenChange(open: any, reason: any, doubleClickThreshold?: number): void;
    closeOnSelect(): any;
    onCompositionChange(isComposing: any): void;
    componentDidUpdate(prevProps: any, prevState: any): void;
    input: React.RefObject<any>;
    renderInput(mobile: any): React.DetailedReactHTMLElement<any, HTMLElement>;
    hasDropdownContent(additionalProps: any): boolean;
    _onOptionMarked: (option: any, optionElementId: any) => void;
    dropdownLayout: import("../DropdownLayout/DropdownLayout").DropdownLayout | null | undefined;
    _renderNativeSelect(): React.JSX.Element;
    render(): React.JSX.Element;
    get isReadOnly(): any;
    /**
     * Determine if the provided key should cause the dropdown to be opened.
     *
     * @param {KeyboardEvent.key}
     * @returns {boolean}
     */
    shouldOpenDropdown(key: any): boolean;
    /**
     * Determine if the provided key should delegate the keydown event to the
     * DropdownLayout.
     *
     * @param {KeyboardEvent.key}
     * @returns {boolean}
     */
    shouldDelegateKeyDown(key: any): boolean;
    /**
     * Determine if the provided key should cause manual submit.
     *
     * @param {KeyboardEvent.key}
     * @returns {boolean}
     */
    shouldPerformManualSubmit(key: any): boolean;
    _focused: boolean | undefined;
    /** Checks if focus event is related to selecting an option */
    _didSelectOption: (event: any) => boolean;
    /**
     * Clears the input.
     *
     * @param event delegated to the onClear call
     */
    clear: (event: any) => void;
}
declare namespace InputWithOptions {
    let defaultProps: {
        onSelect: () => void;
        options: never[];
        closeOnSelect: boolean;
        inputElement: React.JSX.Element;
        valueParser: (option: any) => any;
        dropdownWidth: null;
        popoverProps: {
            appendTo: string;
            flip: boolean;
            fixed: boolean;
            placement: string;
            width: string;
            minWidth: number;
            onMouseEnter: undefined;
            onMouseLeave: undefined;
        };
        dropdownOffsetLeft: string;
        showOptionsIfEmptyInput: boolean;
        autocomplete: string;
        native: boolean;
        showDrawerOnMobile: boolean;
        onClickOutside?: (e: TouchEvent | MouseEvent) => void;
        overflow?: import("..").Overflow;
        className?: string;
        onMouseEnter?: React.MouseEventHandler<HTMLElement>;
        onMouseLeave?: React.MouseEventHandler<HTMLElement>;
        dataHook?: string;
        tabIndex?: number;
        visible?: boolean;
        size?: "small" | "medium" | "large" | "tiny" | undefined;
        scrollbar?: "overlay" | "fixed";
        autoFocus?: boolean;
        onMouseDown?: React.MouseEventHandler<HTMLElement>;
        hasMore?: boolean;
        loadMore?: (page: number) => void;
        dropDirectionUp?: boolean;
        focusOnSelectedOption?: boolean;
        onClose?: () => void;
        onOptionMarked?: (option: import("..").DropdownLayoutValueOption | null, optionElementId?: string) => void;
        onOptionsNavigate?: (option: import("..").DropdownLayoutValueOption | null) => void;
        selectedId?: string | number;
        fixedHeader?: React.ReactNode;
        fixedFooter?: React.ReactNode;
        maxHeightPixels?: string | number;
        minWidthPixels?: string | number;
        withArrow?: boolean;
        itemHeight?: import("..").DropdownLayoutItemHeight;
        selectedHighlight?: boolean;
        inContainer?: boolean;
        infiniteScroll?: boolean;
        markedOption?: boolean | string | number;
        focusOnOption?: string | number;
        scrollToOption?: string | number;
        listType?: import("..").ListType;
        listboxId?: string;
        onDrillIn?: (option: import("..").DropdownLayoutValueOption) => void;
        onDrillOut?: () => void;
        overlayScrollbarProps?: {
            OverlayScrollbarHostElement: import("../providers/useOverlayScrollbar/useOverlayScrollbar").OverlayScrollbarHost;
            OverlayScrollbarContentElement: import("../providers/useOverlayScrollbar/useOverlayScrollbar").OverlayScrollbarContent;
        };
        ref?: string | ((instance: import("../DropdownLayout/DropdownLayout").DropdownLayout | null) => void | React.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof React.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | React.RefObject<import("../DropdownLayout/DropdownLayout").DropdownLayout> | ((instance: import("../Input").InputImperativeActions | null) => void | React.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof React.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | React.RefObject<import("../Input").InputImperativeActions> | null | undefined;
        key?: React.Key | null | undefined;
        children?: React.ReactNode;
        id?: string;
        role?: string;
        ariaControls?: string;
        ariaDescribedby?: string;
        ariaLabel?: string;
        autoSelect?: boolean;
        defaultValue?: import("../Input").InputValue;
        disabled?: boolean;
        status?: import("../Input").InputStatus;
        statusMessage?: React.ReactNode;
        statusMessageTooltipProps?: import("..").TooltipCommonProps;
        hideStatusSuffix?: boolean;
        forceFocus?: boolean;
        forceHover?: boolean;
        maxLength?: number;
        menuArrow?: boolean;
        clearButton?: boolean;
        focusOnClearClick?: boolean;
        name?: string;
        border?: "standard" | "round" | "bottomLine" | "none";
        noLeftBorderRadius?: boolean;
        noRightBorderRadius?: boolean;
        onBlur?: React.FocusEventHandler<HTMLInputElement>;
        onChange?: React.ChangeEventHandler<HTMLInputElement>;
        onClear?: (event: React.MouseEvent<HTMLButtonElement> | React.KeyboardEvent<HTMLButtonElement>) => void;
        onCompositionChange?: (isComposing: boolean) => void;
        onEnterPressed?: React.KeyboardEventHandler<HTMLInputElement>;
        onEscapePressed?: React.KeyboardEventHandler<HTMLInputElement>;
        onFocus?: React.FocusEventHandler<HTMLInputElement>;
        onInputClicked?: React.MouseEventHandler<HTMLInputElement | HTMLDivElement>;
        onKeyDown?: React.KeyboardEventHandler<HTMLInputElement>;
        onKeyUp?: React.KeyboardEventHandler<HTMLInputElement>;
        onPaste?: React.ClipboardEventHandler<HTMLInputElement>;
        onCopy?: React.ClipboardEventHandler<HTMLInputElement>;
        placeholder?: string;
        prefix?: React.ReactNode;
        readOnly?: boolean;
        disableEditing?: boolean;
        rtl?: boolean;
        suffix?: React.ReactNode;
        textOverflow?: "clip" | "ellipsis";
        tooltipPlacement?: import("..").TooltipProps["placement"];
        type?: string;
        value?: string | number;
        withSelection?: boolean;
        required?: boolean;
        min?: import("../Input").MinValue;
        max?: import("../Input").MaxValue;
        step?: number;
        customInput?: React.ReactNode | Function;
        pattern?: string;
        inputRef?: React.Ref<HTMLInputElement>;
        inputmode?: string;
        ariaRoledescription?: string;
        clearButtonTooltipContent?: React.ReactNode;
        clearButtonTooltipProps?: import("..").TooltipCommonProps;
        clearButtonAriaLabel?: string;
        inputElementRef?: any;
    };
    let displayName: string;
}
import React from 'react';
//# sourceMappingURL=InputWithOptions.d.ts.map