import { MouseEvent } from 'react'; import { Margin } from '@nivo/core'; import { TooltipAnchor, TooltipPosition } from '@nivo/tooltip'; import { DefaultDatum, HierarchyTreeNode, TreeDataProps, CommonProps, Layout, ComputedNode, ComputedLink, NodeMouseEventHandler, NodeTooltip, LinkMouseEventHandler, LinkTooltip, CurrentNodeSetter, TreeMode, LinkCurve } from './types'; export declare const useRoot: ({ data, mode, getIdentity, }: { data: TreeDataProps["data"]; mode: TreeMode; getIdentity: (node: Datum) => string; }) => HierarchyTreeNode; export declare const useTree: ({ data, width, height, identity, mode, layout, nodeSize, activeNodeSize, inactiveNodeSize, nodeColor, fixNodeColorAtDepth, highlightAncestorNodes, highlightDescendantNodes, linkCurve, linkThickness, linkColor, activeLinkThickness, inactiveLinkThickness, highlightAncestorLinks, highlightDescendantLinks, }: { data: TreeDataProps["data"]; width: number; height: number; identity?: CommonProps["identity"]; mode?: TreeMode; layout?: Layout; nodeSize?: CommonProps["nodeSize"]; activeNodeSize?: CommonProps["activeNodeSize"]; inactiveNodeSize?: CommonProps["inactiveNodeSize"]; nodeColor?: CommonProps["nodeColor"]; fixNodeColorAtDepth?: number; highlightAncestorNodes?: boolean; highlightDescendantNodes?: boolean; linkCurve?: LinkCurve; linkThickness?: CommonProps["linkThickness"]; activeLinkThickness?: CommonProps["activeLinkThickness"]; inactiveLinkThickness?: CommonProps["inactiveLinkThickness"]; linkColor?: CommonProps["linkColor"]; highlightAncestorLinks?: boolean; highlightDescendantLinks?: boolean; }) => { nodes: ComputedNode[]; nodeByUid: Record>; links: ComputedLink[]; linkGenerator: import("d3-shape").Link; setCurrentNode: (node: ComputedNode | null) => void; }; /** * This hook may generates mouse event handlers for a node according to the main chart props. * It's used for the default `Node` component and may be used for custom nodes * to simplify their implementation. */ export declare const useNodeMouseEventHandlers: (node: ComputedNode, { isInteractive, onMouseEnter, onMouseMove, onMouseLeave, onMouseDown, onMouseUp, onClick, onDoubleClick, setCurrentNode, tooltip, tooltipPosition, tooltipAnchor, margin, }: { isInteractive: boolean; onMouseEnter?: NodeMouseEventHandler; onMouseMove?: NodeMouseEventHandler; onMouseLeave?: NodeMouseEventHandler; onMouseDown?: NodeMouseEventHandler; onMouseUp?: NodeMouseEventHandler; onClick?: NodeMouseEventHandler; onDoubleClick?: NodeMouseEventHandler; setCurrentNode: CurrentNodeSetter; tooltip?: NodeTooltip; tooltipPosition: TooltipPosition; tooltipAnchor: TooltipAnchor; margin: Margin; }) => { onMouseEnter: ((event: MouseEvent) => void) | undefined; onMouseMove: ((event: MouseEvent) => void) | undefined; onMouseLeave: ((event: MouseEvent) => void) | undefined; onMouseDown: ((event: MouseEvent) => void) | undefined; onMouseUp: ((event: MouseEvent) => void) | undefined; onClick: ((event: MouseEvent) => void) | undefined; onDoubleClick: ((event: MouseEvent) => void) | undefined; }; /** * This hook may generates mouse event handlers for a node according to the main chart props. * It's used for the default `Node` component and may be used for custom nodes * to simplify their implementation. */ export declare const useLinkMouseEventHandlers: (link: ComputedLink, { isInteractive, onMouseEnter, onMouseMove, onMouseLeave, onMouseDown, onMouseUp, onClick, onDoubleClick, tooltip, tooltipAnchor, }: { isInteractive: boolean; onMouseEnter?: LinkMouseEventHandler; onMouseMove?: LinkMouseEventHandler; onMouseLeave?: LinkMouseEventHandler; onMouseDown?: LinkMouseEventHandler; onMouseUp?: LinkMouseEventHandler; onClick?: LinkMouseEventHandler; onDoubleClick?: LinkMouseEventHandler; tooltip?: LinkTooltip; tooltipAnchor: TooltipAnchor; }) => { onMouseEnter: ((event: MouseEvent) => void) | undefined; onMouseMove: ((event: MouseEvent) => void) | undefined; onMouseLeave: ((event: MouseEvent) => void) | undefined; onMouseDown: ((event: MouseEvent) => void) | undefined; onMouseUp: ((event: MouseEvent) => void) | undefined; onClick: ((event: MouseEvent) => void) | undefined; onDoubleClick: ((event: MouseEvent) => void) | undefined; }; //# sourceMappingURL=hooks.d.ts.map