/**
 * @name Input
 *
 * @description
 *  A common input component that will render the appropriate styles.  This currently wraps the 'InputGroup' and 'Input'
 *  styles together.  See the teamsnap patterns library for more inforamtion.
 *    https://teamsnap-ui-patterns.netlify.com/patterns/components/input-group.html
 *    https://teamsnap-ui-patterns.netlify.com/patterns/components/input
 *
 * @example
 *  <Input name='example' type='email' />
 *
 */
import * as React from "react";
import * as PropTypes from "prop-types";
declare class Input extends React.PureComponent<PropTypes.InferProps<typeof Input.propTypes>, any> {
    static propTypes: {
        name: PropTypes.Validator<string>;
        type: PropTypes.Requireable<string>;
        children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        inputProps: PropTypes.Requireable<object>;
        iconPosition: PropTypes.Requireable<string>;
        className: PropTypes.Requireable<string>;
        mods: PropTypes.Requireable<string>;
        style: PropTypes.Requireable<object>;
        otherProps: PropTypes.Requireable<object>;
    };
    static defaultProps: {
        type: string;
        children: any;
        inputProps: {};
        iconPosition: any;
        className: string;
        mods: any;
        style: {};
        otherProps: {};
    };
    render(): JSX.Element;
}
export default Input;
