import React, { CSSProperties, ReactElement } from 'react'; export declare type DropdownAlign = { offset?: number[]; }; export declare type DropdownProps = { /** 是否可见,若指定,则 Dropdown 表现为受控的状态 */ visible?: boolean; /** 响应可见状态变更的回调函数 */ onVisibleChange?: (visible: boolean) => void; /** * 触发可见状态变更的行为 * @default "hover" */ trigger?: 'click' | 'hover'; /** * 下拉框相对主体内容的放置位置 * @default "bottomLeft" */ placement?: 'topLeft' | 'top' | 'topRight' | 'bottomLeft' | 'bottom' | 'bottomRight' | 'leftTop' | 'left' | 'leftBottom' | 'rightTop' | 'right' | 'rightBottom'; /** 对下拉框位置的精细控制 */ align?: DropdownAlign; /** 下拉浮层的内容 */ overlay?: (() => ReactElement) | ReactElement; /** 自定义 overlay 样式名 */ overlayClassName?: string; /** 自定义 overlay 样式 */ overlayStyle?: CSSProperties; /** 主体内容 */ children: ReactElement; }; export interface DropdownRef { /** 校准下拉框位置,如果主体内容的尺寸、位置发生了不预期的变化,可能需要通过调用该方法来确保下拉框位置是正确的 */ forcePopupAlign: () => void; } /** 提供给 `Dropdown` overlay 中内容的信息 */ export interface DropdownCtxValue { /** 设置可见状态 */ setVisible: (visible: boolean) => void; } /** 供 `Dropdown` overlay 内容与 `Dropdown` 进行交互,若当前组件未被 `Dropdown` 包裹,函数返回 `null` */ export declare function useDropdownCtx(): DropdownCtxValue | null; declare const _default: React.ForwardRefExoticComponent>; export default _default;