import { AriaAttributes, ReactElement, MouseEvent, KeyboardEvent, FocusEvent } from 'react';
/** Props passed to the PopoverTrigger render function. */
type PopoverTriggerChildrenProps = {
ref: (node: Element | null) => void;
id: string;
"aria-controls"?: string;
"aria-haspopup"?: AriaAttributes["aria-haspopup"];
"aria-expanded"?: boolean;
"data-state": "open" | "closed";
onClick?: (e: MouseEvent) => void;
onKeyDown?: (e: KeyboardEvent) => void;
onMouseEnter?: (e: MouseEvent) => void;
onMouseLeave?: (e: MouseEvent) => void;
onFocus?: (e: FocusEvent) => void;
onBlur?: (e: FocusEvent) => void;
};
/**
* Props for the PopoverTrigger component.
*/
export type PopoverTriggerProps = {
/**
* Render function that receives trigger props and returns a React element.
*/
children: (props: PopoverTriggerChildrenProps) => ReactElement;
};
/**
* PopoverTrigger component for creating custom trigger elements.
*
* Features:
* - Render prop pattern for full control over the trigger element
* - ARIA attributes and event handlers injected via getReferenceProps
*
* @example
*
* {(props) => (
*
* )}
*
*/
export declare function PopoverTrigger(props: PopoverTriggerProps): ReactElement>;
export declare namespace PopoverTrigger {
var displayName: string;
}
export {};