import React from 'react'; import { DefaultComponentProps, OverrideProps, Simplify } from 'mui-ultra/types'; import { OptionState } from '../ListboxUnstyled'; import { UseSelectOptionSlotProps } from '../SelectUnstyled/useSelect.types'; import { SlotComponentProps } from '../utils'; export interface OptionUnstyledComponentsPropsOverrides { } export interface OptionUnstyledOwnProps { /** * The value of the option. */ value: TValue; children?: React.ReactNode; /** * If `true`, the option will be disabled. * @default false */ disabled?: boolean; className?: string; /** * The components used for each slot inside the OptionUnstyled. * Either a string to use a HTML element or a component. * @default {} */ components?: { Root?: React.ElementType; }; /** * The props used for each slot inside the OptionUnstyled. * @default {} */ componentsProps?: { root?: SlotComponentProps<'li', OptionUnstyledComponentsPropsOverrides, OptionUnstyledOwnerState>; }; /** * A text representation of the option's content. * Used for keyboard text navigation matching. */ label?: string; } export interface OptionUnstyledTypeMap { props: P & OptionUnstyledOwnProps; defaultComponent: D; } export declare type OptionUnstyledProps['defaultComponent']> = OverrideProps, D> & { component?: D; }; export interface OptionUnstyledType { (props: { /** * The component used for the root node. * Either a string to use a HTML element or a component. */ component: C; } & OverrideProps, C>): JSX.Element | null; (props: DefaultComponentProps>): JSX.Element | null; propTypes?: any; } export declare type OptionUnstyledOwnerState = Simplify & OptionState>; export declare type OptionUnstyledRootSlotProps = Simplify; ownerState: OptionUnstyledOwnerState; }>;