import type { LabelHTMLAttributes, ReactNode, CSSProperties } from "react";
import { type ValidationMessageProps } from "../validation-message";
import { type ErrorMessageProps } from "../error-message";
interface InputProps {
    "aria-describedby"?: string;
    "aria-invalid"?: boolean;
    id?: string;
    className?: string;
}
export interface InputGroupProps {
    id?: string;
    className?: string;
    style?: CSSProperties;
    "data-color"?: "info" | "success" | "warning" | "error";
    size?: "large" | "small";
    validationMessage?: ReactNode | {
        value: ReactNode;
    };
    validationMessageProps?: Partial<ValidationMessageProps>;
    /** @deprecated Use `validationMessage` instead */
    errorMessage?: ReactNode;
    /** @deprecated Use `validationMessageProps` instead */
    errorMessageProps?: Partial<ErrorMessageProps>;
    labelProps?: LabelHTMLAttributes<HTMLLabelElement>;
    label?: ReactNode;
    disabled?: boolean;
    readOnly?: boolean;
    /**
     * `children` must be either a single input element or a render function.
     *
     * If you use a render function, make sure you spread the input props to the appropriate element.
     */
    children: Exclude<ReactNode, Iterable<ReactNode>> | ((inputProps: InputProps) => ReactNode);
}
export declare const InputGroup: import("react").ForwardRefExoticComponent<InputGroupProps & import("react").RefAttributes<HTMLDivElement>>;
export {};
//# sourceMappingURL=input-group.d.ts.map