import { HTMLAttributes, ReactElement, PureComponent } from 'react';
import PropTypes from 'prop-types';
import { CombinePropsAndAttributes } from '../../helpers';
import { AlignSide, AlignSideVariant } from '../common/types';
interface ISelfProps {
    id?: string;
    flex?: boolean;
    label?: string | ReactElement<any>;
    description?: string | ReactElement<any>;
    icon?: ReactElement<any>;
    alignIcon?: AlignSide;
    children: ReactElement<any>;
}
export declare type IProps = CombinePropsAndAttributes<ISelfProps, HTMLAttributes<HTMLDivElement>>;
export default class FormGroup extends PureComponent<IProps> {
    static propTypes: {
        id: PropTypes.Requireable<string>;
        flex: PropTypes.Requireable<boolean>;
        label: PropTypes.Requireable<string | PropTypes.ReactElementLike>;
        description: PropTypes.Requireable<string | PropTypes.ReactElementLike>;
        icon: PropTypes.Requireable<PropTypes.ReactElementLike>;
        alignIcon: PropTypes.Requireable<AlignSide>;
        children: PropTypes.Validator<PropTypes.ReactNodeLike>;
    };
    static defaultProps: {
        flex: boolean;
        alignIcon: AlignSideVariant;
    };
    render(): JSX.Element;
}
export {};
//# sourceMappingURL=FormGroup.d.ts.map