import type { DPopupPlacement } from '../../utils/position'; import type { DRefExtra } from '@react-devui/hooks/useRefExtra'; import React from 'react'; import { DPopoverFooter } from './PopoverFooter'; import { DPopoverHeader } from './PopoverHeader'; export interface DPopoverRef { updatePosition: () => void; } export interface DPopoverProps extends Omit, 'children'> { children: React.ReactElement; dVisible?: boolean; dInitialVisible?: boolean; dTrigger?: 'hover' | 'click'; dContainer?: DRefExtra | false; dPlacement?: DPopupPlacement; dEscClosable?: boolean; dDestroyAfterClose?: boolean; dArrow?: boolean; dModal?: boolean; dDistance?: number; dInWindow?: number | false; dMouseEnterDelay?: number; dMouseLeaveDelay?: number; dZIndex?: number | string; dHeader?: React.ReactElement | string; dContent: React.ReactNode; dFooter?: React.ReactElement; onVisibleChange?: (visible: boolean) => void; afterVisibleChange?: (visible: boolean) => void; } declare function Popover(props: DPopoverProps, ref: React.ForwardedRef): JSX.Element | null; export declare const DPopover: { (props: DPopoverProps & React.RefAttributes): ReturnType; Header: typeof DPopoverHeader; Footer: typeof DPopoverFooter; }; export {};