import * as React from 'react'; import { OverrideProps, Simplify } from 'mui-ultra/types'; import { SlotComponentProps } from '../utils'; export declare type NativeFormControlElement = HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement; export interface FormControlUnstyledComponentsPropsOverrides { } export interface FormControlUnstyledOwnProps { /** * The content of the component. */ children?: React.ReactNode | ((state: FormControlUnstyledState) => React.ReactNode); /** * Class name applied to the root element. */ className?: string; /** * The components used for each slot inside the FormControl. * Either a string to use a HTML element or a component. * @default {} */ components?: { Root?: React.ElementType; }; componentsProps?: { root?: SlotComponentProps<'div', FormControlUnstyledComponentsPropsOverrides, FormControlUnstyledOwnerState>; }; defaultValue?: unknown; /** * If `true`, the label, input and helper text should be displayed in a disabled state. * @default false */ disabled?: boolean; /** * If `true`, the label is displayed in an error state. * @default false */ error?: boolean; onChange?: React.ChangeEventHandler; /** * If `true`, the label will indicate that the `input` is required. * @default false */ required?: boolean; value?: unknown; } export interface FormControlUnstyledTypeMap

{ props: P & FormControlUnstyledOwnProps; defaultComponent: D; } export declare type FormControlUnstyledProps = OverrideProps, D> & { component?: D; }; declare type NonOptionalOwnerState = 'disabled' | 'error' | 'required'; export declare type FormControlUnstyledOwnerState = Simplify & Required> & { filled: boolean; focused: boolean; }>; declare type ContextFromPropsKey = 'disabled' | 'error' | 'onChange' | 'required' | 'value'; export declare type FormControlUnstyledState = Simplify & { filled: boolean; focused: boolean; onBlur: () => void; onFocus: () => void; }>; export declare type FormControlUnstyledRootSlotProps = { children: React.ReactNode | ((state: FormControlUnstyledState) => React.ReactNode); className?: string; ownerState: FormControlUnstyledOwnerState; }; export {};