import { ReactNode } from 'react'; export interface SelectOption { value: T; label: string; description?: string; icon?: ReactNode; /** Keep an unavailable choice visible while preventing its selection. */ disabled?: boolean; } export interface SelectProps { value: T; onChange: (value: T) => void; onBlur?: () => void; options: SelectOption[]; /** * Field label rendered above the trigger, the way `TextInput` renders its * own. Names the trigger and the listbox through `aria-labelledby`, so a * caller that supplies it does not also need `aria-label`. */ label?: ReactNode; placeholder?: string; disabled?: boolean; size?: "small" | "default" | "medium" | "large"; fullWidth?: boolean; className?: string; searchable?: boolean; searchPlaceholder?: string; "aria-label"?: string; "aria-describedby"?: string; invalid?: boolean; /** * Shown in place of the list when a search matches nothing. English default, * because this package cannot resolve a consumer's locale key: a product that * localises passes its own words. */ noOptionsLabel?: string; } export declare function Select({ value, onChange, onBlur, options, label, placeholder, disabled, size, fullWidth, className, searchable, searchPlaceholder, "aria-label": ariaLabel, "aria-describedby": ariaDescribedBy, invalid, noOptionsLabel, }: SelectProps): import("react").JSX.Element;