import type { PropType } from 'vue';
import type { TypeDropdownItemProps, TypeDropdownProps } from './type';
export declare const DropdownProps: {
    direction: {
        type: PropType<"left" | "right">;
        default: "left" | "right";
        validator(val: TypeDropdownProps['direction']): boolean;
    };
    disabled: BooleanConstructor;
    hideAfterItemClick: {
        type: BooleanConstructor;
        default: boolean;
    };
    maxColumnWidth: {
        type: PropType<string | number>;
        default: number;
    };
    maxHeight: {
        type: NumberConstructor;
        default: number;
    };
    minColumnWidth: {
        type: PropType<string | number>;
        default: number;
    };
    options: {
        type: PropType<import("./type").DropdownOption[]>;
        default: () => TypeDropdownProps['options'];
    };
    placement: {
        type: PropType<"left" | "right" | "top" | "bottom" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom">;
        default: "left" | "right" | "top" | "bottom" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom";
        validator(val: TypeDropdownProps['placement']): boolean;
    };
    popupProps: {
        type: PropType<import("../popup").TypePopupProps>;
    };
    trigger: {
        type: PropType<"click" | "hover" | "focus" | "context-menu">;
        default: "click" | "hover" | "focus" | "context-menu";
        validator(val: TypeDropdownProps['trigger']): boolean;
    };
    onClick: PropType<(dropdownItem: import("./type").DropdownOption, context: {
        e: MouseEvent;
    }) => void>;
};
export declare const DropdownItemProps: {
    active: BooleanConstructor;
    content: {
        type: PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
        default: string;
    };
    disabled: BooleanConstructor;
    divider: BooleanConstructor;
    prefixIcon: {
        type: PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    theme: {
        type: PropType<import("./type").DropdownItemTheme>;
        default: import("./type").DropdownItemTheme;
        validator(val: TypeDropdownItemProps['theme']): boolean;
    };
    value: {
        type: PropType<string | number | {
            [key: string]: any;
        }>;
    };
    onClick: PropType<(dropdownItem: import("./type").DropdownOption, context: {
        e: MouseEvent;
    }) => void>;
};
declare const _default: {
    DropdownProps: {
        direction: {
            type: PropType<"left" | "right">;
            default: "left" | "right";
            validator(val: "left" | "right"): boolean;
        };
        disabled: BooleanConstructor;
        hideAfterItemClick: {
            type: BooleanConstructor;
            default: boolean;
        };
        maxColumnWidth: {
            type: PropType<string | number>;
            default: number;
        };
        maxHeight: {
            type: NumberConstructor;
            default: number;
        };
        minColumnWidth: {
            type: PropType<string | number>;
            default: number;
        };
        options: {
            type: PropType<import("./type").DropdownOption[]>;
            default: () => import("./type").DropdownOption[];
        };
        placement: {
            type: PropType<"left" | "right" | "top" | "bottom" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom">;
            default: "left" | "right" | "top" | "bottom" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom";
            validator(val: "left" | "right" | "top" | "bottom" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom"): boolean;
        };
        popupProps: {
            type: PropType<import("../popup").TypePopupProps>;
        };
        trigger: {
            type: PropType<"click" | "hover" | "focus" | "context-menu">;
            default: "click" | "hover" | "focus" | "context-menu";
            validator(val: "click" | "hover" | "focus" | "context-menu"): boolean;
        };
        onClick: PropType<(dropdownItem: import("./type").DropdownOption, context: {
            e: MouseEvent;
        }) => void>;
    };
    DropdownItemProps: {
        active: BooleanConstructor;
        content: {
            type: PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
            default: string;
        };
        disabled: BooleanConstructor;
        divider: BooleanConstructor;
        prefixIcon: {
            type: PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
        };
        theme: {
            type: PropType<import("./type").DropdownItemTheme>;
            default: import("./type").DropdownItemTheme;
            validator(val: import("./type").DropdownItemTheme): boolean;
        };
        value: {
            type: PropType<string | number | {
                [key: string]: any;
            }>;
        };
        onClick: PropType<(dropdownItem: import("./type").DropdownOption, context: {
            e: MouseEvent;
        }) => void>;
    };
};
export default _default;
