import { Edge, ICurve, Point, Size } from '..';
import { Graph, Node } from '..';
import { DrawingNode } from './drawingNode';
import { ShapeEnum } from './shapeEnum';
declare type GraphVisData = {
    sameRanks: string[][];
    minRanks: string[];
    maxRanks: string[];
    sourceRanks: string[];
    sinkRanks: string[];
};
export declare class DrawingGraph extends DrawingNode {
    defaultNode: DrawingNode;
    graphVisData: GraphVisData;
    get graph(): Graph;
    findNode(id: string): DrawingNode;
    hasDirectedEdge(): boolean;
    createGeometry(textMeasure: (label: string) => Size): void;
    createEdgeGeometry(e: Edge, textMeasure: (label: string) => Size): void;
    curveByShape(width: number, height: number, center: Point, shape: ShapeEnum, drawingNode: DrawingNode): ICurve;
    createNodeGeometry(n: Node, textMeasure: (label: string) => Size): void;
}
export {};
