import React from 'react'; import { IconProps } from '../../../icon/interfaces'; import { BaseComponentProps } from '../../base-component'; interface BaseOption { value?: string; label?: string; labelContent?: React.ReactNode; lang?: string; description?: string; disabled?: boolean; disabledReason?: string; labelTag?: string; tags?: ReadonlyArray; filteringTags?: ReadonlyArray; iconAlt?: string; iconAriaLabel?: string; iconName?: IconProps.Name; iconUrl?: string; iconSvg?: React.ReactNode; } export interface OptionDefinition extends BaseOption { __labelPrefix?: string; } interface InternalOptionDefinition extends OptionDefinition { __customIcon?: React.ReactNode; } export interface OptionGroup extends BaseOption { options: ReadonlyArray; } export interface DropdownOption { type?: 'child' | 'parent' | 'select-all' | 'use-entered'; disabled?: boolean; disabledReason?: string; option: OptionDefinition | OptionGroup; afterHeader?: boolean; } export interface OptionProps extends BaseComponentProps { option?: InternalOptionDefinition; triggerVariant?: boolean; highlightText?: string; highlightedOption?: boolean; selectedOption?: boolean; isGroupOption?: boolean; disableTitleTooltip?: boolean; labelContainerRef?: React.RefObject; labelRef?: React.RefObject; labelId?: string; } export {};