import type { DSFloatingWrapperT, DSHookFloatingContextT } from '@elliemae/ds-floating-context'; import type { DSMaskT } from '@elliemae/ds-form-helpers-mask-hooks'; import type { DSPropTypesSchema, GlobalAttributesT } from '@elliemae/ds-props-helpers'; import type { SizingProps } from '@elliemae/ds-system'; import type React from 'react'; export declare function noop(..._args: T): void; export declare namespace DSCommonComboboxPropsT { interface CommonItemOptions extends GlobalAttributesT { dsId: string; disabled?: boolean; applyAriaDisabled?: boolean; render?: React.ComponentType; } interface ItemSeparatorOptions extends CommonItemOptions { type: 'separator'; } interface ItemSectionOptions extends CommonItemOptions { type: 'section'; label: string; options: OptionTypes[]; } interface ItemOption extends CommonItemOptions { value: string; label: string; type: 'option'; } interface ItemCreatableOption extends CommonItemOptions { label: string; type: 'creatable'; } type SelectionableOptions = ItemOption | ItemCreatableOption; type LayoutOptions = ItemSeparatorOptions | ItemSectionOptions; type OptionTypes = SelectionableOptions | LayoutOptions; interface RequiredProps { allOptions: OptionTypes[]; } interface DefaultProps { startPlacementPreference: DSHookFloatingContextT.PopperPlacementsT; placementOrderPreference: DSHookFloatingContextT.PopperPlacementsT[]; hasError: boolean; inline: boolean; withoutPortal: boolean; isNonClearable: boolean; disabled: boolean; noOptionsMessage: string; innerRef: React.MutableRefObject | ((ref: HTMLInputElement | null) => void); useMask: DSMaskT.Hook | typeof noop; onlySelectable: boolean; isSkeleton: boolean; applyAriaDisabled: boolean; readOnly: boolean; isMenuOpenableWithReadOnly: boolean; forceFocusFirstOptionOnType: boolean; menuMaxHeight: SizingProps['maxHeight']; } interface OptionalProps { menuMinWidth?: SizingProps['minWidth']; placeholder?: string; autoFocus?: boolean; filteredOptions?: OptionTypes[]; isMenuOpen?: boolean; onMenuChange?: (state: boolean, reason: string, e?: React.KeyboardEvent | React.MouseEvent | React.ChangeEvent) => void; onCreate?: (label: string) => void; onFilter?: (newOptions: OptionTypes[], inputValue?: string) => void; onCancel?: () => void; onSelectAll?: (suggestedValue: SelectionableOptions[] | [], event: React.MouseEvent | React.KeyboardEvent) => void; onKeyDown?: (e: React.KeyboardEvent, value: ItemOption) => void; isLoading?: boolean; popperProps?: DSFloatingWrapperT.Props; } } type CommonComboboxProps = DSCommonComboboxPropsT.RequiredProps & DSCommonComboboxPropsT.DefaultProps & DSCommonComboboxPropsT.OptionalProps; export declare const commonComboboxPropTypes: DSPropTypesSchema; export {};