import * as React from 'react'; import { DAGReactProps, EdgeLabelsDefinition, EdgeOptions, GraphLayout, LayoutType, MarkerComponents, NodeLabelsDefinition, NodeOptions, PathGeneratorTypes, ReportSize, ShapesDefinition } from './types'; import { ValueCache } from './valuecache'; export interface GraphOptions { marginx?: number; marginy?: number; rankdir?: string; ranksep?: number; nodesep?: number; [key: string]: number | string | object | undefined; } declare type DAGReactState = { pathGenerators: PathGeneratorTypes; markerComponents: MarkerComponents; nodeLabels: NodeLabelsDefinition; edgeLabels: EdgeLabelsDefinition; shapes: ShapesDefinition; graphLayout: GraphLayout; previousStage: number; layoutStage: number; }; export default class DAGReact extends React.Component { valueCache: ValueCache; static defaultProps: { customShapes: {}; customNodeLabels: {}; customEdgeLabels: {}; customPathGenerators: {}; customArrowHeads: {}; customMarkerComponents: {}; defaultNodeConfig: {}; defaultEdgeConfig: {}; nodes: any[]; edges: any[]; graphOptions: {}; graphLayoutStarted: () => void; graphLayoutComplete: () => void; stage: number; layoutStage: number; layoutType: LayoutType; renderingOrder: string[]; }; constructor(props: DAGReactProps); static getDerivedStateFromProps(nextProps: any, state: any): { graphLayout: any; previousStage: any; }; reportEdgeLabelSize(index: number, width: number, height: number): void; reportNodeSize(index: number, width: number, height: number): void; checkRender(): void; componentDidUpdate(): void; render(): JSX.Element; renderNode: (node: NodeOptions, reportSize: ReportSize, valueCache: ValueCache) => React.ReactElement; renderEdge: (index: number, edgeMeta: EdgeOptions) => JSX.Element; renderEdgeLabel: (index: number, edgeMeta: EdgeOptions, reportSize: ReportSize) => JSX.Element; adjustIntersections: () => void; } export {};