import type { ThemeSize } from "../../theme.types"; export interface InputWrapperOwnProps { /** Contents of `Input.Label` component. If not set, label is not rendered. */ label?: React.ReactNode; /** Contents of `Input.Description` component. If not set, description is not rendered. */ description?: React.ReactNode; /** Contents of `Input.Error` component. If not set, error is not rendered. */ error?: React.ReactNode; /** Adds required attribute to the input and a red asterisk on the right side of label * @default false */ required?: boolean; /** Determines whether the required asterisk should be displayed. Overrides `required` prop. Does not add required attribute to the input. * @default false */ withAsterisk?: boolean; /** Props passed down to the `Input.Label` component */ labelProps?: Record; /** Props passed down to the `Input.Description` component */ descriptionProps?: Record; /** Props passed down to the `Input.Error` component */ errorProps?: Record; /** Input container component * @default(children) => children */ inputContainer?: (children: React.ReactNode) => React.ReactNode; /** Controls order of the elements * @default['label', 'description', 'input', 'error'] */ inputWrapperOrder?: ("label" | "description" | "input" | "error")[]; /** Static id used as base to generate `aria-` attributes, by default generates random id */ id?: string; /** Controls size of `Input.Label`, `Input.Description` and `Input.Error` components */ size?: ThemeSize; /** `Input.Label` root element * @default "label" */ labelElement?: "label" | "div"; } export interface InputWrapperProps extends InputWrapperOwnProps, React.ComponentProps<"div"> { } export declare function InputWrapper(props: InputWrapperProps): import("react").JSX.Element;