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
 * <Popover.Trigger>
 *   {(props) => (
 *     <Button {...props}>
 *       Click to open popover
 *     </Button>
 *   )}
 * </Popover.Trigger>
 */
export declare function PopoverTrigger(props: PopoverTriggerProps): ReactElement<any, string | import('react').JSXElementConstructor<any>>;
export declare namespace PopoverTrigger {
    var displayName: string;
}
export {};
