/**
 * @fileoverview Select component with glassmorphic styling
 */
import React from 'react';
import type { GlassIntensity } from '../../types/theme';
export interface SelectOption {
    /** Option value */
    value: string | number;
    /** Option label */
    label: string;
    /** Whether option is disabled */
    disabled?: boolean;
    /** Option description */
    description?: string;
    /** Custom icon */
    icon?: React.ReactNode;
}
export interface SelectProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {
    /** Select options */
    options: SelectOption[];
    /** Current selected value */
    value?: string | number;
    /** Default selected value */
    defaultValue?: string | number;
    /** Callback when selection changes */
    onChange?: (value: string | number, option: SelectOption) => void;
    /** Select size */
    size?: 'small' | 'medium' | 'large';
    /** Glass effect intensity */
    glassIntensity?: GlassIntensity;
    /** Select state */
    state?: 'default' | 'error' | 'warning' | 'success';
    /** Select label */
    label?: string;
    /** Placeholder text */
    placeholder?: string;
    /** Helper text */
    helperText?: string;
    /** Error message */
    error?: string;
    /** Whether select is disabled */
    disabled?: boolean;
    /** Whether select is loading */
    loading?: boolean;
    /** Whether select is searchable */
    searchable?: boolean;
    /** Whether select allows multiple selection */
    multiple?: boolean;
    /** Whether to clear selection */
    clearable?: boolean;
    /** Custom search placeholder */
    searchPlaceholder?: string;
    /** Custom no options message */
    noOptionsMessage?: string;
    /** Maximum height of dropdown */
    maxHeight?: number;
    /** Additional CSS class */
    className?: string;
    /** Required field indicator */
    required?: boolean;
    /** Full width */
    fullWidth?: boolean;
}
export declare const Select: React.ForwardRefExoticComponent<SelectProps & React.RefAttributes<HTMLDivElement>>;
