/**
 * @fileoverview Dropdown component with glassmorphic styling
 */
import React from 'react';
import type { GlassIntensity } from '../../types/theme';
export interface DropdownItem {
    /** Item key */
    key: string;
    /** Item label */
    label: string;
    /** Item value */
    value?: any;
    /** Whether item is disabled */
    disabled?: boolean;
    /** Item icon */
    icon?: React.ReactNode;
    /** Item description */
    description?: string;
    /** Whether item is a divider */
    divider?: boolean;
    /** Custom onClick handler */
    onClick?: (item: DropdownItem) => void;
    /** Nested items for submenu */
    children?: DropdownItem[];
}
export interface DropdownProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange' | 'onSelect'> {
    /** Dropdown trigger element */
    trigger: React.ReactNode;
    /** Dropdown items */
    items: DropdownItem[];
    /** Dropdown placement */
    placement?: 'bottom-start' | 'bottom-end' | 'top-start' | 'top-end' | 'left-start' | 'left-end' | 'right-start' | 'right-end';
    /** Glass effect intensity */
    glassIntensity?: GlassIntensity;
    /** Whether dropdown is disabled */
    disabled?: boolean;
    /** Trigger mode */
    triggerMode?: 'click' | 'hover';
    /** Callback when item is selected */
    onSelect?: (item: DropdownItem) => void;
    /** Whether to close on item click */
    closeOnSelect?: boolean;
    /** Custom dropdown width */
    width?: number | string;
    /** Maximum height of dropdown */
    maxHeight?: number;
    /** Whether dropdown is open (controlled) */
    open?: boolean;
    /** Callback when open state changes */
    onOpenChange?: (open: boolean) => void;
    /** Additional CSS class */
    className?: string;
    /** Dropdown offset from trigger */
    offset?: number;
    /** Whether to show arrow */
    showArrow?: boolean;
}
export declare const Dropdown: React.ForwardRefExoticComponent<DropdownProps & React.RefAttributes<HTMLDivElement>>;
