import { type AriaAttributes, type KeyboardEventHandler, type MouseEventHandler, type ReactNode, type Ref, type RefCallback } from 'react'; export type PopoverTriggerProps = { ref: RefCallback; type: 'button'; disabled: boolean; 'aria-label': string; 'aria-expanded': boolean; 'aria-controls': string | undefined; 'aria-haspopup': AriaAttributes['aria-haspopup']; onClick: MouseEventHandler; }; type PopoverContent = ReactNode | ((close: () => void) => ReactNode); type PopoverPlacement = 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end'; export declare function hasOpenOfficePopover(): boolean; export declare function Popover({ label, panelLabel, trigger, children, disabled, className, panelClassName, panelRole, placement, portal, open: controlledOpen, defaultOpen, panelRef, focusFirstOnOpen, onPanelKeyDown, onOpenChange, }: { label: string; panelLabel: string; trigger: (props: PopoverTriggerProps, state: { open: boolean; }) => ReactNode; children: PopoverContent; disabled?: boolean; className?: string; panelClassName?: string; panelRole?: 'region' | 'dialog' | 'menu' | 'listbox'; placement?: PopoverPlacement; portal?: boolean; open?: boolean; defaultOpen?: boolean; panelRef?: Ref; focusFirstOnOpen?: boolean; onPanelKeyDown?: KeyboardEventHandler; onOpenChange?: (open: boolean) => void; }): import("react").JSX.Element; export {};