import { CSSProperties, PropType } from 'vue'; import { strings } from '@douyinfe/semi-foundation/lib/es/dropdown/constants'; import { type TooltipProps, type Trigger } from '../tooltip'; import DropdownMenu from './dropdownMenu'; import DropdownItem, { DropdownItemProps } from './dropdownItem'; import DropdownDivider, { DropdownDividerProps } from './dropdownDivider'; import DropdownTitle, { DropdownTitleProps } from './dropdownTitle'; import '@douyinfe/semi-foundation/lib/es/dropdown/dropdown.css'; import { Motion } from '../_base/base'; import { ArrayElement } from '@douyinfe/semi-foundation/lib/es/utils/type'; import { CombineProps } from '../interface'; export type { DropdownDividerProps } from './dropdownDivider'; export type { DropdownItemProps, Type } from './dropdownItem'; export type { DropdownMenuProps } from './dropdownMenu'; export type { DropdownTitleProps } from './dropdownTitle'; export interface DropDownMenuItemItem extends DropdownItemProps { node: 'item'; name?: string; } export interface DropDownMenuItemDivider extends DropdownDividerProps { node: 'divider'; } export interface DropDownMenuItemTitle extends DropdownTitleProps { node: 'title'; name?: string; } export type DropDownMenuItem = DropDownMenuItemItem | DropDownMenuItemDivider | DropDownMenuItemTitle; export interface DropdownProps extends TooltipProps { onFilter?: any; onFilterDropdownVisibleChange?: any; onSelect?: any; onHeaderCell?: any; onGroupedRow?: any; render?: any; visible?: boolean; position?: ArrayElement; getPopupContainer?: () => HTMLElement; mouseEnterDelay?: number; mouseLeaveDelay?: number; menu?: DropDownMenuItem[]; trigger?: Trigger; zIndex?: number; motion?: Motion; className?: string; contentClassName?: string | any[]; style?: CSSProperties; onVisibleChange?: (visible: boolean) => void; rePosKey?: string | number; showTick?: boolean; prefixCls?: string; spacing?: number; closeOnEsc?: TooltipProps['closeOnEsc']; onEscKeyDown?: TooltipProps['onEscKeyDown']; name?: string; tooltipStyle?: CSSProperties; } export declare const DropdownVuePropsType: CombineProps; export declare const vuePropsType: CombineProps; declare const Dropdown: import("vue").DefineComponent | { type: PropType; default?: any; required?: false; }; onFilterDropdownVisibleChange: PropType | { type: PropType; default?: any; required?: false; }; onSelect: PropType | { type: PropType; default?: any; required?: false; }; onHeaderCell: PropType | { type: PropType; default?: any; required?: false; }; onGroupedRow: PropType | { type: PropType; default?: any; required?: false; }; render: PropType | { type: PropType; default?: any; required?: false; }; visible: PropType | { type: PropType; default?: any; required?: false; }; position: PropType<"bottom" | "left" | "right" | "top" | "topLeft" | "topRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom" | "bottomLeft" | "bottomRight" | "leftTopOver" | "rightTopOver" | "leftBottomOver" | "rightBottomOver"> | { type: PropType<"bottom" | "left" | "right" | "top" | "topLeft" | "topRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom" | "bottomLeft" | "bottomRight" | "leftTopOver" | "rightTopOver" | "leftBottomOver" | "rightBottomOver">; default?: any; required?: false; }; getPopupContainer: PropType<() => HTMLElement> | { type: PropType<() => HTMLElement>; default?: any; required?: false; }; mouseEnterDelay: PropType | { type: PropType; default?: any; required?: false; }; mouseLeaveDelay: PropType | { type: PropType; default?: any; required?: false; }; menu: PropType | { type: PropType; default?: any; required?: false; }; trigger: PropType<"click" | "focus" | "hover" | "custom" | "contextMenu"> | { type: PropType<"click" | "focus" | "hover" | "custom" | "contextMenu">; default?: any; required?: false; }; zIndex: PropType | { type: PropType; default?: any; required?: false; }; motion: PropType | { type: PropType; default?: any; required?: false; }; className: PropType | { type: PropType; default?: any; required?: false; }; contentClassName: PropType | { type: PropType; default?: any; required?: false; }; style: PropType | { type: PropType; default?: any; required?: false; }; onVisibleChange: PropType<(visible: boolean) => void> | { type: PropType<(visible: boolean) => void>; default?: any; required?: false; }; rePosKey: PropType | { type: PropType; default?: any; required?: false; }; showTick: PropType | { type: PropType; default?: any; required?: false; }; prefixCls: PropType | { type: PropType; default?: any; required?: false; }; spacing: PropType | { type: PropType; default?: any; required?: false; }; closeOnEsc: PropType | { type: PropType; default?: any; required?: false; }; onEscKeyDown: PropType<(e: KeyboardEvent) => void> | { type: PropType<(e: KeyboardEvent) => void>; default?: any; required?: false; }; name: PropType | { type: PropType; default?: any; required?: false; }; tooltipStyle: PropType | { type: PropType; default?: any; required?: false; }; autoAdjustOverflow: PropType | { type: PropType; default?: any; required?: false; }; clickToHide: PropType | { type: PropType; default?: any; required?: false; }; content: PropType> | { type: PropType>; default?: any; required?: false; }; onClickOutSide: PropType<(e: MouseEvent) => void> | { type: PropType<(e: MouseEvent) => void>; default?: any; required?: false; }; margin: PropType | { type: PropType; default?: any; required?: false; }; showArrow: PropType | { type: PropType; default?: any; required?: false; }; role: PropType | { type: PropType; default?: any; required?: false; }; arrowBounding: PropType | { type: PropType; default?: any; required?: false; }; transformFromCenter: PropType | { type: PropType; default?: any; required?: false; }; arrowPointAtCenter: PropType | { type: PropType; default?: any; required?: false; }; wrapWhenSpecial: PropType | { type: PropType; default?: any; required?: false; }; stopPropagation: PropType | { type: PropType; default?: any; required?: false; }; clickTriggerToHide: PropType | { type: PropType; default?: any; required?: false; }; wrapperClassName: PropType | { type: PropType; default?: any; required?: false; }; guardFocus: PropType | { type: PropType; default?: any; required?: false; }; returnFocusOnClose: PropType | { type: PropType; default?: any; required?: false; }; disableArrowKeyDown: PropType | { type: PropType; default?: any; required?: false; }; wrapperId: PropType | { type: PropType; default?: any; required?: false; }; preventScroll: PropType | { type: PropType; default?: any; required?: false; }; disableFocusListener: PropType | { type: PropType; default?: any; required?: false; }; afterClose: PropType<() => void> | { type: PropType<() => void>; default?: any; required?: false; }; keepDOM: PropType | { type: PropType; default?: any; required?: false; }; }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly | { type: PropType; default?: any; required?: false; }; onFilterDropdownVisibleChange: PropType | { type: PropType; default?: any; required?: false; }; onSelect: PropType | { type: PropType; default?: any; required?: false; }; onHeaderCell: PropType | { type: PropType; default?: any; required?: false; }; onGroupedRow: PropType | { type: PropType; default?: any; required?: false; }; render: PropType | { type: PropType; default?: any; required?: false; }; visible: PropType | { type: PropType; default?: any; required?: false; }; position: PropType<"bottom" | "left" | "right" | "top" | "topLeft" | "topRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom" | "bottomLeft" | "bottomRight" | "leftTopOver" | "rightTopOver" | "leftBottomOver" | "rightBottomOver"> | { type: PropType<"bottom" | "left" | "right" | "top" | "topLeft" | "topRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom" | "bottomLeft" | "bottomRight" | "leftTopOver" | "rightTopOver" | "leftBottomOver" | "rightBottomOver">; default?: any; required?: false; }; getPopupContainer: PropType<() => HTMLElement> | { type: PropType<() => HTMLElement>; default?: any; required?: false; }; mouseEnterDelay: PropType | { type: PropType; default?: any; required?: false; }; mouseLeaveDelay: PropType | { type: PropType; default?: any; required?: false; }; menu: PropType | { type: PropType; default?: any; required?: false; }; trigger: PropType<"click" | "focus" | "hover" | "custom" | "contextMenu"> | { type: PropType<"click" | "focus" | "hover" | "custom" | "contextMenu">; default?: any; required?: false; }; zIndex: PropType | { type: PropType; default?: any; required?: false; }; motion: PropType | { type: PropType; default?: any; required?: false; }; className: PropType | { type: PropType; default?: any; required?: false; }; contentClassName: PropType | { type: PropType; default?: any; required?: false; }; style: PropType | { type: PropType; default?: any; required?: false; }; onVisibleChange: PropType<(visible: boolean) => void> | { type: PropType<(visible: boolean) => void>; default?: any; required?: false; }; rePosKey: PropType | { type: PropType; default?: any; required?: false; }; showTick: PropType | { type: PropType; default?: any; required?: false; }; prefixCls: PropType | { type: PropType; default?: any; required?: false; }; spacing: PropType | { type: PropType; default?: any; required?: false; }; closeOnEsc: PropType | { type: PropType; default?: any; required?: false; }; onEscKeyDown: PropType<(e: KeyboardEvent) => void> | { type: PropType<(e: KeyboardEvent) => void>; default?: any; required?: false; }; name: PropType | { type: PropType; default?: any; required?: false; }; tooltipStyle: PropType | { type: PropType; default?: any; required?: false; }; autoAdjustOverflow: PropType | { type: PropType; default?: any; required?: false; }; clickToHide: PropType | { type: PropType; default?: any; required?: false; }; content: PropType> | { type: PropType>; default?: any; required?: false; }; onClickOutSide: PropType<(e: MouseEvent) => void> | { type: PropType<(e: MouseEvent) => void>; default?: any; required?: false; }; margin: PropType | { type: PropType; default?: any; required?: false; }; showArrow: PropType | { type: PropType; default?: any; required?: false; }; role: PropType | { type: PropType; default?: any; required?: false; }; arrowBounding: PropType | { type: PropType; default?: any; required?: false; }; transformFromCenter: PropType | { type: PropType; default?: any; required?: false; }; arrowPointAtCenter: PropType | { type: PropType; default?: any; required?: false; }; wrapWhenSpecial: PropType | { type: PropType; default?: any; required?: false; }; stopPropagation: PropType | { type: PropType; default?: any; required?: false; }; clickTriggerToHide: PropType | { type: PropType; default?: any; required?: false; }; wrapperClassName: PropType | { type: PropType; default?: any; required?: false; }; guardFocus: PropType | { type: PropType; default?: any; required?: false; }; returnFocusOnClose: PropType | { type: PropType; default?: any; required?: false; }; disableArrowKeyDown: PropType | { type: PropType; default?: any; required?: false; }; wrapperId: PropType | { type: PropType; default?: any; required?: false; }; preventScroll: PropType | { type: PropType; default?: any; required?: false; }; disableFocusListener: PropType | { type: PropType; default?: any; required?: false; }; afterClose: PropType<() => void> | { type: PropType<() => void>; default?: any; required?: false; }; keepDOM: PropType | { type: PropType; default?: any; required?: false; }; }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>; export type DropdownType = typeof Dropdown & { Menu: typeof DropdownMenu; Item: typeof DropdownItem; Divider: typeof DropdownDivider; Title: typeof DropdownTitle; }; declare const BaseDropdown: DropdownType; export { DropdownMenu, DropdownItem, DropdownDivider, DropdownTitle, Dropdown }; export default BaseDropdown;