import type { PopupProps } from '../popup';
import type { LNode } from '../../common.type';
export interface TypeDropdownProps {
    direction?: 'left' | 'right';
    disabled?: boolean;
    hideAfterItemClick?: boolean;
    maxColumnWidth?: string | number;
    maxHeight?: number;
    minColumnWidth?: string | number;
    options?: Array<DropdownOption>;
    placement?: 'top' | 'left' | 'right' | 'bottom' | 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | 'left-top' | 'left-bottom' | 'right-top' | 'right-bottom';
    popupProps?: PopupProps;
    trigger?: 'hover' | 'click' | 'focus' | 'context-menu';
    onClick?: (dropdownItem: DropdownOption, context: {
        e: MouseEvent;
    }) => void;
}
export interface TypeDropdownItemProps {
    active?: boolean;
    content?: string | LNode;
    disabled?: boolean;
    divider?: boolean;
    prefixIcon?: LNode;
    theme?: DropdownItemTheme;
    value?: string | number | {
        [key: string]: any;
    };
    onClick?: (dropdownItem: DropdownOption, context: {
        e: MouseEvent;
    }) => void;
}
export declare type DropdownOption = {
    children?: Array<TypeDropdownItemProps>;
} & TypeDropdownItemProps & Record<string, any>;
export declare type DropdownItemTheme = 'default' | 'success' | 'warning' | 'error';
