import { ReactElement, MouseEvent, KeyboardEvent, FocusEvent, RefObject } from 'react'; import { dataStateType } from './usePopoverContext'; type PopoverTriggerChildrenReturnType = { ref: RefObject; onMouseEnter: (e: MouseEvent) => void; onMouseLeave: (e: MouseEvent) => void; onClick: (e: MouseEvent) => void; onKeyDown: (e: KeyboardEvent) => void; onBlur: (e: FocusEvent) => void; onFocus: (e: FocusEvent) => void; "aria-haspopup": boolean; "aria-expanded": boolean; "aria-details": HTMLElement["id"]; /** * @deprecated to be removed on next major * Use aria-expanded instead */ "data-state": dataStateType; "data-test": string; }; /** * Props for the PopoverTrigger component */ export type PopoverTriggerProps = { /** * Render function that receives trigger props and returns a React element */ children: (data: PopoverTriggerChildrenReturnType) => ReactElement; }; /** * PopoverTrigger component for creating custom trigger elements. * * Features: * - Supports custom trigger elements via render prop pattern * - Automatic focus management and keyboard interaction * - Hover and click event handling * - Accessibility attributes (aria-haspopup, aria-expanded, aria-details) * - Legacy popover support with fallback * - Context integration with parent popover * * @example * * {(props) => ( * * )} * * * @example * * {(props) => ( *
* Custom trigger element *
* )} *
*/ export declare function PopoverTrigger(props: PopoverTriggerProps): import("react/jsx-runtime").JSX.Element | undefined; export {};