export default Input;
/** Text input with integrated label to enforce consistency in layout, error display, label placement, and required field marker. */
/**
 * @deprecated - Components in the legacy folder (/src/legacy) are deprecated. Please use a component from the components folder (/src/components) instead. Legacy components may not follow accessibility standards.
 **/
declare class Input extends React.Component<any, any, any> {
    constructor(props: any);
    constructor(props: any, context: any);
    state: {
        isEditing: boolean;
        value: any;
    };
    componentDidUpdate(prevProps: any): void;
    setValue: (value: any) => void;
    handleKeyDown: (e: any) => void;
    handleFocus: (e: any) => void;
    handleMouseDown: (e: any) => void;
    handleChange: (e: any) => void;
    handleBlur: (e: any) => void;
    handleClear: (e: any) => void;
    setInputRef: (input: any) => any;
    input: any;
    render(): JSX.Element;
}
declare namespace Input {
    namespace propTypes {
        let ariaDescribedBy: PropTypes.Requireable<string>;
        let ariaLabel: PropTypes.Requireable<string>;
        let className: PropTypes.Requireable<string>;
        let clear: PropTypes.Requireable<boolean>;
        let clearAriaLabel: PropTypes.Requireable<string>;
        let containerSize: PropTypes.Requireable<string>;
        let defaultValue: PropTypes.Requireable<NonNullable<string | number>>;
        let disabled: PropTypes.Requireable<boolean>;
        let messageArr: PropTypes.Requireable<any[]>;
        let htmlId: PropTypes.Requireable<string>;
        let inputAfter: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        let inputBefore: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        let id: PropTypes.Requireable<string>;
        let inputClassName: PropTypes.Requireable<string>;
        let helpText: PropTypes.Requireable<string>;
        let inputRef: PropTypes.Requireable<(...args: any[]) => any>;
        let inputSize: PropTypes.Requireable<string>;
        let isFilled: PropTypes.Requireable<boolean>;
        let label: PropTypes.Requireable<string>;
        let multiline: PropTypes.Requireable<boolean>;
        let name: PropTypes.Requireable<string>;
        let nestedLevel: PropTypes.Requireable<number>;
        let onChange: PropTypes.Requireable<(...args: any[]) => any>;
        let onDoneEditing: PropTypes.Requireable<(...args: any[]) => any>;
        let onFocus: PropTypes.Requireable<(...args: any[]) => any>;
        let onKeyDown: PropTypes.Requireable<(...args: any[]) => any>;
        let onMouseDown: PropTypes.Requireable<(...args: any[]) => any>;
        let placeholder: PropTypes.Requireable<string>;
        let readOnly: PropTypes.Requireable<boolean>;
        let secondaryLabel: PropTypes.Requireable<string>;
        let shape: PropTypes.Requireable<string>;
        let type: PropTypes.Requireable<string>;
        let value: PropTypes.Requireable<NonNullable<string | number>>;
    }
    namespace defaultProps {
        let ariaDescribedBy_1: any;
        export { ariaDescribedBy_1 as ariaDescribedBy };
        let ariaLabel_1: any;
        export { ariaLabel_1 as ariaLabel };
        let className_1: string;
        export { className_1 as className };
        let clear_1: boolean;
        export { clear_1 as clear };
        let clearAriaLabel_1: any;
        export { clearAriaLabel_1 as clearAriaLabel };
        let containerSize_1: string;
        export { containerSize_1 as containerSize };
        let defaultValue_1: string;
        export { defaultValue_1 as defaultValue };
        let disabled_1: boolean;
        export { disabled_1 as disabled };
        let messageArr_1: any[];
        export { messageArr_1 as messageArr };
        let htmlId_1: any;
        export { htmlId_1 as htmlId };
        let inputAfter_1: any;
        export { inputAfter_1 as inputAfter };
        let inputBefore_1: any;
        export { inputBefore_1 as inputBefore };
        let id_1: any;
        export { id_1 as id };
        let inputClassName_1: string;
        export { inputClassName_1 as inputClassName };
        let helpText_1: string;
        export { helpText_1 as helpText };
        let inputRef_1: any;
        export { inputRef_1 as inputRef };
        let inputSize_1: string;
        export { inputSize_1 as inputSize };
        let isFilled_1: boolean;
        export { isFilled_1 as isFilled };
        let label_1: string;
        export { label_1 as label };
        let multiline_1: boolean;
        export { multiline_1 as multiline };
        let name_1: any;
        export { name_1 as name };
        let nestedLevel_1: number;
        export { nestedLevel_1 as nestedLevel };
        let onChange_1: any;
        export { onChange_1 as onChange };
        let onDoneEditing_1: any;
        export { onDoneEditing_1 as onDoneEditing };
        let onFocus_1: any;
        export { onFocus_1 as onFocus };
        let onKeyDown_1: any;
        export { onKeyDown_1 as onKeyDown };
        let onMouseDown_1: any;
        export { onMouseDown_1 as onMouseDown };
        let placeholder_1: string;
        export { placeholder_1 as placeholder };
        let readOnly_1: boolean;
        export { readOnly_1 as readOnly };
        let secondaryLabel_1: string;
        export { secondaryLabel_1 as secondaryLabel };
        let shape_1: string;
        export { shape_1 as shape };
        let type_1: string;
        export { type_1 as type };
        let value_1: string;
        export { value_1 as value };
    }
    let displayName: string;
}
import React from 'react';
import PropTypes from 'prop-types';
