import React, { FC, ReactNode, CSSProperties } from "react"; declare type FuncVoid = () => void; interface IUseDropdownAreaProps { title?: string; /** 弹出的卡片的样式 */ cardClassName?: string; /** 菜单对准右侧, 从右往左弹出 */ alignToRight?: boolean; width?: number; renderContent: (closeMenu: FuncVoid) => ReactNode; hideClose?: boolean; cardStyle?: CSSProperties; /** 强行监听 wheel 事件, 重新设置弹出菜单的位置 */ followWheel?: boolean; /** 监听打开、关闭 */ onExpand?: (visible: boolean) => void; /** hard code position transforming when necessary */ transformCardPosition?: (p: IPosition) => IPosition; showArrow?: boolean; /** DEPRECATED */ guessHeight?: number; /** DEPRECATED */ adjustingPosition?: true; } interface IProps extends IUseDropdownAreaProps { /** trigger 区域的样式 */ className?: string; style?: CSSProperties; /** optional, by default, the area responds to click event, * there are cases we want to control how the menu is created */ renderTrigger?: (openMenu: FuncVoid, closeMenu: FuncVoid) => ReactNode; } interface IPosition { top: number; left: number; angleTop: number; angleLeft: number; atBottom: boolean; } export declare let useDropdownArea: (props: IUseDropdownAreaProps) => [React.ReactNode, React.Ref, () => void, () => void, { visible: boolean; }]; declare let DropdownArea: FC; export default DropdownArea;