import { ReactNode, SyntheticEvent, MouseEvent } from 'react'; import { PopperProps, PopperTrigger, PopperTriggerProps } from '@befe/brick-comp-popper'; import { PopoverActionsAlign, ConfiguredComponent } from '@befe/brick-core'; type PropsFromPopper = Pick; export interface PopoverProps extends PopperTriggerProps, PropsFromPopper { /** * 自定义 class */ className?: string; /** * 是否有箭头 */ withArrow?: boolean; /** * 标题 */ headline?: ReactNode; /** * 内容 */ content?: ReactNode; /** * 操作 */ actions?: ReactNode; /** * 操作位置 */ actionsAlign?: PopoverActionsAlign; /** * 是否有关闭小叉 */ withCloseX?: boolean; /** * 点击关闭小叉回调 */ onClickCloseX?: (e: MouseEvent) => void; /** * 尺寸 * - 影响 headline content 的字体大小 * - 影响 按钮尺寸 */ size?: 'sm' | 'md'; } export declare class Popover extends ConfiguredComponent { static displayName: string; static defaultProps: { className: string; placement: string; type: string; withArrow: boolean; }; refTrigger: import("react").RefObject; get className(): string; get size(): "sm" | "md"; get actionsAlign(): "right" | "center" | "left"; get withCloseX(): boolean | "" | 0 | null | undefined; get triggerProps(): { ref: import("react").RefObject; arrowOffset?: number | "auto" | undefined; onChange?: ((visible: boolean, e?: Event | SyntheticEvent | undefined) => void) | undefined; children?: ReactNode; visible?: boolean | undefined; target?: (HTMLElement | (() => void | HTMLElement | null) | null) | undefined; onClickCloseX?: ((e: MouseEvent) => void) | undefined; size?: "sm" | "md" | undefined; type?: "click" | "hover" | "focus" | undefined; disabled?: boolean | undefined; defaultVisible?: boolean | undefined; beforeChange?: ((visible: boolean) => boolean | void | Promise) | undefined; mouseEnterDelay?: number | undefined; mouseLeaveDelay?: number | undefined; focusDelay?: number | undefined; blurDelay?: number | undefined; shouldHideParent?: boolean | undefined; shouldHideOnMousedownDocument?: boolean | ((e: Event) => boolean) | undefined; }; get popperProps(): PopperProps; get actionsSize(): "sm" | "xs"; /** * @public */ setVisible(visible: boolean, e?: Event | SyntheticEvent): void; handleClickClose: (e: MouseEvent) => void; renderCloseX(): import("react/jsx-runtime").JSX.Element | null; renderHeadline(): import("react/jsx-runtime").JSX.Element | null; renderContent(): import("react/jsx-runtime").JSX.Element | null; renderActions(): import("react/jsx-runtime").JSX.Element | null; renderPopperWrap(): import("react/jsx-runtime").JSX.Element | null; render(): import("react/jsx-runtime").JSX.Element; } export {};