import PropTypes from 'prop-types';
import { Component } from 'react';
import { CommonThemeProps } from '../types';
import { GroupProps as NextGroupProps } from '@alifd/next/types/input';
import { InputProps as NextInputProps } from '@alifd/next/types/input';
import { PasswordProps as NextPasswordProps } from '@alifd/next/types/input';
import { TextAreaProps as NextTextAreaProps } from '@alifd/next/types/input';
interface TextAreaProps extends NextTextAreaProps, CommonThemeProps {
}
declare class TextArea extends Component<TextAreaProps, any> {
    static contextTypes: {
        theme: PropTypes.Requireable<string>;
    };
    render(): JSX.Element;
}
interface PasswordProps extends Omit<NextPasswordProps, 'size'>, CommonThemeProps {
    size?: 'large' | 'medium' | 'small' | 'xs';
}
declare class Password extends Component<PasswordProps, any> {
    static contextTypes: {
        theme: PropTypes.Requireable<string>;
    };
    render(): JSX.Element;
}
interface GroupProps extends NextGroupProps, CommonThemeProps {
}
declare class Group extends Component<GroupProps, any> {
    static contextTypes: {
        theme: PropTypes.Requireable<string>;
    };
    render(): JSX.Element;
}
interface InputProps extends Omit<NextInputProps, 'size'>, CommonThemeProps {
    size?: 'large' | 'medium' | 'small' | 'xs';
}
declare class Input extends Component<InputProps> {
    static TextArea: typeof TextArea;
    static Group: typeof Group;
    static Password: typeof Password;
    static contextTypes: {
        theme: PropTypes.Requireable<string>;
    };
    render(): JSX.Element;
}
declare const _default: typeof Input;
export default _default;
