import { InputHTMLAttributes, Ref, ChangeEvent, PureComponent } from 'react';
import PropTypes from 'prop-types';
import { CombinePropsAndAttributes } from '../../helpers';
import { InputValue } from '../common/types';
interface ISelfProps {
    elementRef?: Ref<HTMLInputElement>;
    type?: string;
    value?: InputValue;
    defaultValue?: InputValue;
    mask?: string;
    maskChar?: string;
    formatChars?: any;
    alwaysShowMask?: boolean;
    onChange?(value: InputValue, event: ChangeEvent): any;
}
export declare type IProps = CombinePropsAndAttributes<ISelfProps, InputHTMLAttributes<HTMLInputElement>>;
export default class Input extends PureComponent<IProps> {
    static propTypes: {
        elementRef: PropTypes.Requireable<(...args: any[]) => any>;
        type: PropTypes.Requireable<string>;
        onChange: PropTypes.Requireable<(...args: any[]) => any>;
        value: PropTypes.Requireable<string | number>;
        defaultValue: PropTypes.Requireable<string | number>;
        mask: PropTypes.Requireable<string>;
        maskChar: PropTypes.Requireable<string>;
        formatChars: PropTypes.Requireable<object>;
        alwaysShowMask: PropTypes.Requireable<boolean>;
    };
    static defaultProps: {
        type: string;
        alwaysShowMask: boolean;
    };
    render(): JSX.Element;
    private onChange;
}
export {};
//# sourceMappingURL=Input.d.ts.map