import React from "react"; export interface SelectOption { value: string | number; label: string; disabled?: boolean; group?: string; } export type SelectValue = SelectOption["value"]; export type SelectValueChange = SelectValue | SelectValue[]; export interface GlassSelectProps extends Omit, "size"> { /** * Select variant */ variant?: "default" | "filled" | "outlined" | "minimal"; /** * Select size */ size?: "sm" | "md" | "lg"; /** * Select state */ state?: "default" | "error" | "warning" | "success"; /** * Whether select is full width */ fullWidth?: boolean; /** * Left icon */ leftIcon?: React.ReactNode; /** * Helper text */ helperText?: string; /** * Error text */ errorText?: string; /** * Loading state */ loading?: boolean; /** * Select options */ options?: SelectOption[]; /** * Placeholder text */ placeholder?: string; /** * Whether select is searchable */ searchable?: boolean; /** * Custom search function */ onSearch?: (query: string) => void; /** * Multi-select mode */ multiple?: boolean; /** * Max items for multi-select */ maxItems?: number; /** * Custom option renderer */ renderOption?: (option: SelectOption) => React.ReactNode; /** * Custom value renderer */ renderValue?: (value: SelectValueChange) => React.ReactNode; /** * Value change callback (preferred over onChange) */ onValueChange?: (value: SelectValueChange) => void; /** * Optional portal container for the custom dropdown. */ portalContainer?: HTMLElement | null; /** * Whether to portal dropdown content. Defaults to true. */ portalled?: boolean; /** * Overlay positioning strategy. */ positionStrategy?: "fixed" | "absolute" | "contained"; /** * Render dropdown content inside the local select boundary. */ contained?: boolean; /** * Accessible label for the select */ label?: string; /** * ID of element that labels the select */ "aria-labelledby"?: string; /** * ID of element(s) that describe the select */ "aria-describedby"?: string; /** * Whether the select is required */ "aria-required"?: boolean; /** * Whether the select value is invalid */ "aria-invalid"?: boolean; /** * ID of error message element */ "aria-errormessage"?: string; } /** * GlassSelect component * A glassmorphism select field with advanced features * @deprecated Prefer the Radix-based compound Select exported from GlassSelectCompound */ export declare const GlassSelect: React.ForwardRefExoticComponent>; //# sourceMappingURL=GlassSelect.d.ts.map