export interface SelectOption { label: string; value: string; isDisabled?: boolean; isFixed?: boolean; } export interface SelectProps { /** * Label for the select * @default undefined * @example "Country" */ label?: string; /** * Current selected value(s) * For single select: string | undefined * For multi select: string[] | undefined */ value?: string | string[]; /** * Placeholder text when no option is selected * @default "Select..." */ placeholder?: string; /** * Callback when selection changes * For single select: (value: string | undefined) => void * For multi select: (value: string[]) => void */ onChange?: (value: string | string[] | undefined) => void; /** * Options for the select dropdown * @default undefined */ options?: SelectOption[]; /** * Whether the field is required * @default false */ required?: boolean; /** * Size of the select component * @default "md" */ size?: 'sm' | 'md' | 'lg'; /** * Error message * @default undefined */ error?: string; /** * Help text description * @default undefined */ description?: string; /** * Whether the selection can be cleared * @default true */ clearable?: boolean; /** * Additional class names * @default undefined */ className?: string; /** * Whether to allow multiple selections * @default false */ multiple?: boolean; /** * Whether the select is disabled * @default false */ disabled?: boolean; /** * Whether the select is in a loading state * @default false */ loading?: boolean; /** * Whether to allow creating new options * @default false */ creatable?: boolean; /** * Whether to load options asynchronously * @default false */ async?: boolean; /** * Function to load options asynchronously * @default undefined */ loadOptions?: (inputValue: string) => Promise; /** * Default options for async select * @default undefined */ defaultOptions?: SelectOption[] | boolean; /** * Whether to cache loaded options * @default true */ cacheOptions?: boolean; /** * Function to handle creating new options * @default undefined */ onCreateOption?: (inputValue: string) => void; /** * Message to display when no options are available * @default "No options available" */ noOptionsMessage?: string; /** * Message to display when loading * @default "Loading..." */ loadingMessage?: string; /** * Maximum number of options to display * @default undefined */ maxMenuHeight?: number; /** * Whether to close menu on select (useful for multi-select) * @default true for single, false for multi */ closeMenuOnSelect?: boolean; /** * Whether to hide selected options in multi-select * @default false */ hideSelectedOptions?: boolean; /** * Whether the menu should open on focus * @default false */ openMenuOnFocus?: boolean; /** * Whether to filter options based on input * @default true */ isSearchable?: boolean; } export declare const Select: import('react').ForwardRefExoticComponent>;