import type { AutocompleteChangeDetails, AutocompleteChangeReason } from '@mui/material/Autocomplete'; import type { Dispatch, SetStateAction, SyntheticEvent } from 'react'; export interface Props { readonly defaultChangeDetails?: AutocompleteChangeDetails | undefined; readonly defaultChangeReason?: AutocompleteChangeReason | undefined; readonly defaultCloseReason?: string | undefined; readonly defaultInputReason?: string | undefined; readonly defaultInputValue?: string | undefined; readonly defaultOpen?: boolean | undefined; readonly multiple?: M; readonly onClose?: (event: SyntheticEvent, reason: string) => void; readonly onOpen?: (event: SyntheticEvent) => void; readonly defaultValue?: (M extends true ? readonly T[] : T | null) | undefined; readonly onChange?: ((event: SyntheticEvent, value: M extends true ? readonly T[] : T, reason: AutocompleteChangeReason, details?: AutocompleteChangeDetails) => void) | undefined; readonly onInputChange?: ((event: SyntheticEvent, value: string, reason: string) => void) | undefined; } export interface State { readonly changeDetails: AutocompleteChangeDetails | undefined; readonly changeReason: string | undefined; readonly closeReason: string | undefined; readonly handleClose: (event: SyntheticEvent, reason: string) => void; readonly handleOpen: (event: SyntheticEvent) => void; readonly inputReason: string | undefined; readonly inputValue: string; readonly setCloseReason: Dispatch>; readonly setInputReason: Dispatch>; readonly setInputValue: Dispatch>; readonly setOpen: Dispatch>; readonly open: boolean; readonly value: M extends true ? readonly T[] : T | null; readonly handleChange: (event: SyntheticEvent, value: M extends true ? readonly T[] : T, reason: AutocompleteChangeReason, details?: AutocompleteChangeDetails) => void; readonly handleInputChange: (event: SyntheticEvent, value: string, reason: string) => void; readonly setChangeDetails: Dispatch | undefined>>; readonly setChangeReason: Dispatch>; readonly setValue: Dispatch>; } export default function useAutocomplete(props?: Partial> | undefined): State; export default function useAutocomplete(props?: Partial> | undefined): State; export default function useAutocomplete(props?: Partial> | undefined): State;