import React from 'react'; export interface HoverDropdownItem { label: string; icon?: React.ReactNode; href?: string; /** * Target platform for the row's link — threaded through to the caller's * `renderAnchor` slot, which decides how to route (same tab vs new tab, * embed-aware open, etc.). Plain UI dropdown — no internal click rule. */ targetPlatform?: string | null; /** * In-app doc-tree path for `markdown` / `data_room_doc` refs. Threaded * through to the caller's `renderAnchor` so chat consumers can wire it * into `handleChatNavClick` and trigger an in-page doc-tree swap * (parity with source chips and inline cards). */ path?: string | null; /** * @deprecated Pass `targetPlatform` to the consumer's `renderAnchor` and * let it decide. Kept on the item shape for caller-side decisions but * unused by this component. */ alwaysNewTab?: boolean; onClick?: () => void; /** Optional secondary action rendered as a small icon-button at the * right edge of the row. Independent of the row's primary click target * — clicking the secondary button does NOT navigate. */ secondaryAction?: { icon: React.ReactNode; label: string; onClick: () => void; }; } export interface HoverDropdownRenderAnchorArgs { href: string; targetPlatform?: string | null; /** In-app doc-tree path — chat consumers forward to `handleChatNavClick` * for doc-tree swap parity with chips + inline cards. */ path?: string | null; alwaysNewTab?: boolean; className: string; children: React.ReactNode; } interface HoverDropdownProps { /** The trigger element — dropdown appears on hover */ children: React.ReactNode; /** Items to show in the dropdown */ items: HoverDropdownItem[]; /** Dropdown position relative to trigger (default: 'top') */ side?: 'top' | 'bottom'; /** Delay in ms before hiding on mouse leave (default: 200) */ hideDelay?: number; /** Additional className for the dropdown container */ className?: string; /** * Optional anchor renderer for rows that have an `href`. Chat consumers * supply a ``-backed renderer so clicks route * through the chat runtime; non-chat consumers can skip this and rely * on the default plain ``. */ renderAnchor?: (args: HoverDropdownRenderAnchorArgs) => React.ReactNode; } export declare function HoverDropdown({ children, items, side, hideDelay, className, renderAnchor, }: HoverDropdownProps): React.JSX.Element; export {}; //# sourceMappingURL=hover-dropdown.d.ts.map