import { SyntheticEvent } from 'react'; import { HierarchyPointNode } from 'd3-hierarchy'; export declare type Orientation = 'horizontal' | 'vertical'; export interface Point { x: number; y: number; } export interface RawNodeDatum { name: string; attributes?: Record; children?: RawNodeDatum[]; } export interface TreeNodeDatum extends RawNodeDatum { children?: TreeNodeDatum[]; __rd3t: { id: string; depth: number; collapsed: boolean; }; } export interface TreeLinkDatum { source: HierarchyPointNode; target: HierarchyPointNode; } export declare type PathFunctionOption = 'diagonal' | 'elbow' | 'straight' | 'step'; export declare type PathFunction = (link: TreeLinkDatum, orientation: Orientation) => string; export declare type PathClassFunction = PathFunction; export declare type SyntheticEventHandler = (evt: SyntheticEvent) => void; /** * The properties that are passed to the user-defined `renderCustomNodeElement` render function. */ export interface CustomNodeElementProps { /** * The full datum of the node that is being rendered. */ nodeDatum: TreeNodeDatum; /** * Toggles the expanded/collapsed state of the node. * * Provided for customized control flow; e.g. if we want to toggle the node when its * label is clicked instead of the node itself. */ toggleNode: () => void; } export declare type RenderCustomNodeElementFn = (rd3tNodeProps: CustomNodeElementProps) => JSX.Element;