import React from "react";
interface ControlFeedbackProps {
    children: React.ReactNode;
}
interface ControlGroupProps {
    children: React.ReactNode;
    className?: string;
    inline?: boolean;
    toggle?: boolean;
}
interface ControlSelectProps extends React.InputHTMLAttributes<HTMLSelectElement> {
    className?: string;
}
interface ControlTextareaProps extends React.InputHTMLAttributes<HTMLTextAreaElement> {
    className?: string;
}
interface ControlLabelProps {
    children: React.ReactNode;
    className?: string;
}
interface ControlAddonProps {
    children: React.ReactNode;
}
interface ControlIconProps {
    children: React.ReactNode;
    className?: string;
}
interface ControlProps extends React.InputHTMLAttributes<HTMLInputElement> {
    className?: string;
    rounded?: boolean;
    flush?: boolean;
    valid?: boolean;
    outline?: boolean;
    padding?: "sm" | "md" | "lg";
    style?: React.CSSProperties;
}
export declare const Control: {
    (): void;
    Input: React.ForwardRefExoticComponent<ControlProps & React.RefAttributes<HTMLInputElement>>;
    Textarea: React.ForwardRefExoticComponent<ControlTextareaProps & React.RefAttributes<HTMLTextAreaElement>>;
    Select: React.ForwardRefExoticComponent<ControlSelectProps & React.RefAttributes<HTMLSelectElement>>;
    Label: ({ children, className }: ControlLabelProps) => JSX.Element;
    Group: ({ children, className, inline, toggle, }: ControlGroupProps) => JSX.Element;
    Feedback: ({ children }: ControlFeedbackProps) => JSX.Element;
    Icon: ({ children, className }: ControlIconProps) => JSX.Element;
    Addon: ({ children }: ControlAddonProps) => JSX.Element;
};
export default Control;
