import React from 'react'; type BuiltinFlavor = 'primary' | 'success' | 'danger' | 'warning' | 'neutral'; type ShadedFlavor = BuiltinFlavor | `${BuiltinFlavor}+` | `${BuiltinFlavor}-`; type Placement = 'top-start' | 'top' | 'top-end' | 'right-start' | 'right' | 'right-end' | 'bottom-start' | 'bottom' | 'bottom-end' | 'left-start' | 'left' | 'left-end'; export interface TySelectItem { value: string; label: string; flavor: string | null; } export interface TySelectEventDetail { /** Scalar for single select, array when `multiple` */ value: string | string[] | null; /** Always the array form of the selection */ values: string[]; /** Rich info per selected value — enough to render chips out-of-band */ items: TySelectItem[]; /** Action that triggered the change */ action: 'add' | 'remove' | 'clear' | 'set' | 'create'; /** The specific value that changed */ item: string | null; } export interface TySelectProps extends Omit, 'onChange' | 'style'> { style?: import('./TyInput').TyInputCSSProperties; /** Selected value(s) — string, comma-separated string, or array */ value?: string | string[]; /** Multi select (native