import { CreateNamespace } from '../../../utils/src/create'; import { ComputedRef, ExtractPropTypes, PropType, RendererElement, StyleValue, VNodeChild } from 'vue'; import { DefaultPlacement } from '../../../composables/use-placement'; export type DropdownOption = { label: string | (() => VNodeChild); icon?: () => VNodeChild; key: string | number | symbol; type?: 'item' | 'group'; children?: DropdownOption[]; }; export type DropdownItem = { label: string | (() => VNodeChild); icon?: () => VNodeChild; active: boolean; selected: boolean; key: string | number | symbol; type: 'item' | 'group'; children?: DropdownItem[]; _iconHasWidth: boolean; _expandHasWidth: boolean; parent: DropdownItem | null; }; export declare const dropdownProps: { options: { type: PropType; default: () => never[]; }; subPlacement: { type: PropType; default: string; }; selectable: BooleanConstructor; selectedKeys: { type: PropType; default: () => never[]; }; trigger: { type: PropType<"click" | "hover" | "focus" | "manual">; default: string; }; showPopover: BooleanConstructor; showArrow: { type: BooleanConstructor; default: boolean; }; zIndex: NumberConstructor; placement: { type: PropType; default: string; }; to: { type: PropType; default: string; }; wrapper: BooleanConstructor; wrapperClass: null; wrapperStyle: PropType; theme: { type: PropType; }; themeOverrides: PropType | undefined; fontSize: import("csstype").Property.FontSize | undefined; transitionDuration: import("csstype").Property.TransitionDuration | undefined; transitionTimingFunction: import("csstype").Property.TransitionTimingFunction | undefined; transitionDuration1: any; transitionTimingFunction1: any; transitionTimingFunction2: any; itemHeight: any; padding: import("csstype").Property.Padding | undefined; iconSize: any; iconPadding: any; expandIconPadding: any; }>>; }; export type DropdownProps = ExtractPropTypes; export declare const dropdownEmits: { 'update:selected-keys': (newValue: DropdownItem["key"][]) => void; }; export type DropdownEmits = typeof dropdownEmits; declare const _default: import('vue').DefineComponent<{ options: { type: PropType; default: () => never[]; }; subPlacement: { type: PropType; default: string; }; selectable: BooleanConstructor; selectedKeys: { type: PropType; default: () => never[]; }; trigger: { type: PropType<"click" | "hover" | "focus" | "manual">; default: string; }; showPopover: BooleanConstructor; showArrow: { type: BooleanConstructor; default: boolean; }; zIndex: NumberConstructor; placement: { type: PropType; default: string; }; to: { type: PropType; default: string; }; wrapper: BooleanConstructor; wrapperClass: null; wrapperStyle: PropType; theme: { type: PropType; }; themeOverrides: PropType | undefined; fontSize: import("csstype").Property.FontSize | undefined; transitionDuration: import("csstype").Property.TransitionDuration | undefined; transitionTimingFunction: import("csstype").Property.TransitionTimingFunction | undefined; transitionDuration1: any; transitionTimingFunction1: any; transitionTimingFunction2: any; itemHeight: any; padding: import("csstype").Property.Padding | undefined; iconSize: any; iconPadding: any; expandIconPadding: any; }>>; }, { bem: CreateNamespace; styleVars: ComputedRef<{ [x: string]: string; }>; vars: ComputedRef<{ boxShadow: import("csstype").Property.BoxShadow | undefined; backgroundColor: import("csstype").Property.BackgroundColor | undefined; backgroundColorHover: any; backgroundColorSelected: any; textColor: any; textColorSelected: any; groupTextColor: any; borderRadius: import("csstype").Property.BorderRadius | undefined; fontSize: import("csstype").Property.FontSize | undefined; transitionDuration: import("csstype").Property.TransitionDuration | undefined; transitionTimingFunction: import("csstype").Property.TransitionTimingFunction | undefined; transitionDuration1: any; transitionTimingFunction1: any; transitionTimingFunction2: any; itemHeight: any; padding: import("csstype").Property.Padding | undefined; iconSize: any; iconPadding: any; expandIconPadding: any; }>; dropdownItems: ComputedRef; itemClickHandler: (item: DropdownItem) => void; }, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, { 'update:selected-keys': (newValue: DropdownItem["key"][]) => void; }, string, import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, Readonly<{ options?: unknown; subPlacement?: unknown; selectable?: unknown; selectedKeys?: unknown; trigger?: unknown; showPopover?: unknown; showArrow?: unknown; zIndex?: unknown; placement?: unknown; to?: unknown; wrapper?: unknown; wrapperClass?: unknown; wrapperStyle?: unknown; theme?: unknown; themeOverrides?: unknown; } & { to: string | boolean | RendererElement; showPopover: boolean; trigger: "click" | "focus" | "hover" | "manual"; placement: DefaultPlacement; showArrow: boolean; wrapper: boolean; options: DropdownOption[]; subPlacement: DefaultPlacement; selectable: boolean; selectedKeys: (string | number | symbol)[]; } & { zIndex?: number | undefined; theme?: import('../../../theme-chalk').ThemeKey | undefined; themeOverrides?: Partial<{ boxShadow: import("csstype").Property.BoxShadow | undefined; backgroundColor: import("csstype").Property.BackgroundColor | undefined; backgroundColorHover: any; backgroundColorSelected: any; textColor: any; textColorSelected: any; groupTextColor: any; borderRadius: import("csstype").Property.BorderRadius | undefined; fontSize: import("csstype").Property.FontSize | undefined; transitionDuration: import("csstype").Property.TransitionDuration | undefined; transitionTimingFunction: import("csstype").Property.TransitionTimingFunction | undefined; transitionDuration1: any; transitionTimingFunction1: any; transitionTimingFunction2: any; itemHeight: any; padding: import("csstype").Property.Padding | undefined; iconSize: any; iconPadding: any; expandIconPadding: any; }> | undefined; wrapperClass?: any; wrapperStyle?: StyleValue | undefined; }> & { "onUpdate:selected-keys"?: ((newValue: (string | number | symbol)[]) => any) | undefined; }, { to: string | boolean | RendererElement; showPopover: boolean; trigger: "click" | "focus" | "hover" | "manual"; placement: DefaultPlacement; showArrow: boolean; wrapper: boolean; options: DropdownOption[]; subPlacement: DefaultPlacement; selectable: boolean; selectedKeys: (string | number | symbol)[]; }>; export default _default;