import { ReactNode, MouseEvent } from "react"; import { PopperPlacement } from "../../types"; import { BoxProps } from "../Box"; import { RenderProps } from "./context"; interface TriggerProps { id: string; onClick: (event: Event | MouseEvent) => void; "aria-haspopup": "menu"; "aria-expanded": boolean; "aria-controls": string; role: string; tabIndex: number; } interface TriggerState { isOpen: boolean; onClose: () => void; } declare type TriggerFunction = (props: TriggerProps, state: TriggerState) => ReactNode; declare type RenderFunction = (props: RenderProps) => ReactNode; export interface MenuProps extends BoxProps { trigger: TriggerFunction; children: RenderFunction | ReactNode; placement?: PopperPlacement; position?: "absolute" | "fixed"; popperModifiers?: Record[]; autoFocus?: boolean; hasPortal?: boolean; isOpen?: boolean; onClose?: () => void; } export declare const MenuRenderer: ({ children, className, placement, position, trigger, popperModifiers, autoFocus, hasPortal, isOpen: isOpenProp, onClose: onCloseProp, ...rest }: MenuProps) => JSX.Element; export {};