import React from 'react';
import PropTypes from 'prop-types';
import BaseComponent from '../_base/baseComponent';
import { LabelProps } from '../form/label';
import { noop } from '@douyinfe/semi-foundation/lib/es/utils/function';
export type InputSize = 'small' | 'large' | 'default';
export interface InputGroupProps {
    className?: string;
    children?: React.ReactNode;
    size?: InputSize;
    style?: Record<string, any>;
    onBlur?: (e: React.FocusEvent<HTMLSpanElement>) => void;
    onFocus?: (e: React.FocusEvent<HTMLSpanElement>) => void;
    label?: LabelProps;
    labelPosition?: string;
    disabled?: boolean;
}
export interface InputGroupState {
}
export default class inputGroup extends BaseComponent<InputGroupProps, InputGroupState> {
    static propTypes: {
        className: PropTypes.Requireable<string>;
        children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        size: PropTypes.Requireable<"default" | "small" | "large">;
        style: PropTypes.Requireable<object>;
        onBlur: PropTypes.Requireable<(...args: any[]) => any>;
        onFocus: PropTypes.Requireable<(...args: any[]) => any>;
        label: PropTypes.Requireable<object>;
        labelPosition: PropTypes.Requireable<string>;
    };
    static defaultProps: {
        size: string;
        className: string;
        onBlur: typeof noop;
        onFocus: typeof noop;
    };
    renderGroupWithLabel(inner: React.ReactNode): React.JSX.Element;
    render(): React.JSX.Element;
}
