export default Input;
declare class Input extends React.Component<any, any, any> {
    static contextType: React.Context<import("../WixStyleReactDefaultsOverrideProvider").WixStyleReactDefaultsOverride>;
    static Ticker: {
        ({ onUp, onDown, upDisabled, downDisabled, onMouseDown, dataHook, }: {
            onUp: any;
            onDown: any;
            upDisabled: any;
            downDisabled: any;
            onMouseDown: any;
            dataHook: any;
        }): React.JSX.Element;
        displayName: string;
        propTypes: {
            onUp: PropTypes.Requireable<(...args: any[]) => any>;
            onDown: PropTypes.Requireable<(...args: any[]) => any>;
            upDisabled: PropTypes.Requireable<boolean>;
            downDisabled: PropTypes.Requireable<boolean>;
            onMouseDown: PropTypes.Requireable<(...args: any[]) => any>;
            dataHook: PropTypes.Requireable<string>;
        };
    };
    static IconAffix: {
        ({ children, dataHook }: {
            children: any;
            dataHook: any;
        }): React.JSX.Element;
        displayName: string;
        propTypes: {
            children: PropTypes.Validator<PropTypes.ReactElementLike>;
            dataHook: PropTypes.Requireable<string>;
        };
    };
    static Affix: {
        ({ children, value }: {
            children: any;
            value: any;
        }): React.JSX.Element;
        displayName: string;
        propTypes: {
            children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
            value: PropTypes.Requireable<string>;
        };
    };
    static Group: {
        ({ children }: {
            children: any;
        }): React.JSX.Element;
        displayName: string;
        propTypes: {
            children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        };
    };
    static StatusError: string;
    static StatusWarning: string;
    static StatusLoading: string;
    constructor(props: any);
    _isMounted: boolean;
    state: {
        focus: boolean;
    };
    componentDidMount(): void;
    componentWillUnmount(): void;
    _onCompositionChange: (isComposing: any) => void;
    isComposing: any;
    get _isClearFeatureEnabled(): boolean;
    get _isControlled(): boolean;
    _extractRef: (ref: any) => void;
    input: any;
    _handleSuffixOnClear: (event: any) => void;
    _onFocus: (event: any) => void;
    _onBlur: (event: any) => void;
    _onClick: (event: any) => void;
    _onKeyDown: (event: any) => void;
    _isValidInput: (value: any) => boolean;
    _onChange: (event: any) => void;
    _onKeyPress: (event: any) => void;
    _renderInput: (props: any) => React.FunctionComponentElement<any>;
    _shouldShowStatusSuffix: ({ finalStatus, statusFromProp }: {
        finalStatus: any;
        statusFromProp: any;
    }) => boolean;
    /**
     * 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;
    /**
     * Sets the start and end positions of the current text selection in the input element
     */
    setSelectionRange: (start: any, end: any) => void;
    /**
     * Clears the input.
     * Fires onClear with the given event triggered on the clear button
     *
     * @param event delegated to the onClear call
     */
    clear: (event: any) => void;
    render(props?: {}): React.JSX.Element;
}
declare namespace Input {
    let displayName: string;
    namespace defaultProps {
        let focusOnClearClick: boolean;
        let autoSelect: boolean;
        let border: string;
        let textOverflow: string;
        let maxLength: number;
        let clearButton: boolean;
        let hideStatusSuffix: boolean;
    }
    namespace propTypes {
        export let dataHook: PropTypes.Requireable<string>;
        export let className: PropTypes.Requireable<string>;
        export let id: PropTypes.Requireable<string>;
        export let ariaControls: PropTypes.Requireable<string>;
        export let ariaDescribedby: PropTypes.Requireable<string>;
        export let ariaLabel: PropTypes.Requireable<string>;
        export let autoFocus: PropTypes.Requireable<boolean>;
        export let autocomplete: PropTypes.Requireable<string>;
        export let defaultValue: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
        export let disabled: PropTypes.Requireable<boolean>;
        export let status: PropTypes.Requireable<string>;
        export let statusMessage: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        let hideStatusSuffix_1: PropTypes.Requireable<boolean>;
        export { hideStatusSuffix_1 as hideStatusSuffix };
        export let forceFocus: PropTypes.Requireable<boolean>;
        export let forceHover: PropTypes.Requireable<boolean>;
        let maxLength_1: PropTypes.Requireable<number>;
        export { maxLength_1 as maxLength };
        export let menuArrow: PropTypes.Requireable<boolean>;
        let clearButton_1: PropTypes.Requireable<boolean>;
        export { clearButton_1 as clearButton };
        export let name: PropTypes.Requireable<string>;
        let border_1: PropTypes.Requireable<string>;
        export { border_1 as border };
        export let noLeftBorderRadius: PropTypes.Requireable<boolean>;
        export let noRightBorderRadius: PropTypes.Requireable<boolean>;
        export let onBlur: PropTypes.Requireable<(...args: any[]) => any>;
        export let onChange: PropTypes.Requireable<(...args: any[]) => any>;
        export let onClear: PropTypes.Requireable<(...args: any[]) => any>;
        export let onCompositionChange: PropTypes.Requireable<(...args: any[]) => any>;
        export let onEnterPressed: PropTypes.Requireable<(...args: any[]) => any>;
        export let onEscapePressed: PropTypes.Requireable<(...args: any[]) => any>;
        export let onFocus: PropTypes.Requireable<(...args: any[]) => any>;
        export let onInputClicked: PropTypes.Requireable<(...args: any[]) => any>;
        export let onKeyDown: PropTypes.Requireable<(...args: any[]) => any>;
        export let onKeyUp: PropTypes.Requireable<(...args: any[]) => any>;
        export let onPaste: PropTypes.Requireable<(...args: any[]) => any>;
        export let placeholder: PropTypes.Requireable<string>;
        export let prefix: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        export let readOnly: PropTypes.Requireable<boolean>;
        export let disableEditing: PropTypes.Requireable<boolean>;
        export let size: PropTypes.Requireable<string>;
        export let suffix: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        export let tabIndex: PropTypes.Requireable<number>;
        let textOverflow_1: PropTypes.Requireable<string>;
        export { textOverflow_1 as textOverflow };
        export let tooltipPlacement: PropTypes.Requireable<string>;
        export let type: PropTypes.Requireable<string>;
        export let value: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
        export let required: PropTypes.Requireable<boolean>;
        export let min: PropTypes.Requireable<number>;
        export let max: PropTypes.Requireable<number>;
        export let step: PropTypes.Requireable<number>;
        export let customInput: PropTypes.Requireable<NonNullable<string | number | boolean | ((...args: any[]) => any) | PropTypes.ReactElementLike | PropTypes.ReactNodeArray | ((props: any, context?: any) => any) | (new (props: any, context?: any) => any) | null | undefined>>;
        export let pattern: PropTypes.Requireable<string>;
        let focusOnClearClick_1: PropTypes.Requireable<boolean>;
        export { focusOnClearClick_1 as focusOnClearClick };
        export let clearButtonTooltipContent: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        export let clearButtonTooltipProps: PropTypes.Requireable<PropTypes.ReactNodeLike>;
    }
}
import React from 'react';
import PropTypes from 'prop-types';
//# sourceMappingURL=Input.d.ts.map