import { SVGWidget } from "@hpcc-js/common";
import { AnnotationColumn } from "../react/dataGraph.ts";
import "./sankeyGraph.css";
import { EdgeBaseProps, VertexBaseProps } from "./graphT.ts";
export declare class SankeyGraph extends SVGWidget {
    protected _d3Sankey: any;
    protected _selection: any;
    constructor();
    private _prevVertices;
    private _masterVertices;
    private _masterVerticesMap;
    mergeVertices(): void;
    indexOf(columns: readonly string[], column: string, defColumn?: string): number;
    protected _prevEdges: readonly EdgeBaseProps[];
    protected _masterEdges: EdgeBaseProps[];
    mergeEdges(): void;
    sankeyData(): {
        vertices: VertexBaseProps[];
        edges: EdgeBaseProps<VertexBaseProps>[];
    };
    enter(domNode: any, element: any): void;
    update(domNode: any, element: any): void;
    exit(domNode: any, element: any): void;
    click(row: any, column: any, selected: any): void;
    dblclick(row: any, column: any, selected: any): void;
}
export interface SankeyGraph {
    _palette: any;
    vertexColumns(): string[];
    vertexColumns(_: string[]): this;
    vertices(): Array<Array<string | number | boolean>>;
    vertices(_: Array<Array<string | number | boolean>>): this;
    vertexCategoryColumn(): string;
    vertexCategoryColumn(_: string): this;
    vertexIDColumn(): string;
    vertexIDColumn(_: string): this;
    vertexLabelColumn(): string;
    vertexLabelColumn(_: string): this;
    vertexCentroidColumn(): string;
    vertexCentroidColumn(_: string): this;
    vertexFAChar(): string;
    vertexFAChar(_: string): this;
    vertexFACharColumn(): string;
    vertexFACharColumn(_: string): this;
    vertexTooltipColumn(): string;
    vertexTooltipColumn(_: string): this;
    vertexAnnotationColumns(): AnnotationColumn[];
    vertexAnnotationColumns(_: AnnotationColumn[]): this;
    edgeColumns(): string[];
    edgeColumns(_: string[]): this;
    edges(): Array<Array<string | number | boolean>>;
    edges(_: Array<Array<string | number | boolean>>): this;
    edgeIDColumn(): string;
    edgeIDColumn(_: string): this;
    edgeLabelColumn(): string;
    edgeLabelColumn(_: string): this;
    edgeSourceColumn(): string;
    edgeSourceColumn(_: string): this;
    edgeTargetColumn(): string;
    edgeTargetColumn(_: string): this;
    edgeWeightColumn(): string;
    edgeWeightColumn(_: string): this;
    paletteID(): string;
    paletteID(_: string): this;
    vertexStrokeWidth(): number;
    vertexStrokeWidth(_: number): this;
    vertexStrokeColor(): string;
    vertexStrokeColor(_: string): this;
    vertexWidth(): number;
    vertexWidth(_: number): this;
    vertexPadding(): number;
    vertexPadding(_: number): this;
    xAxisMovement(): boolean;
    xAxisMovement(_: boolean): this;
    yAxisMovement(): boolean;
    yAxisMovement(_: boolean): this;
}
