import { SankeyChartData as ChartData, NodeProperties } from './sankey-chart-data'; interface CustomOptions { nodeWidth?: number; nodeLineHeight?: number; marginX?: number; marginY?: number; leftX?: number; topY?: number; nodeMarginY?: number; nameMaxLength?: number; nodeColumnWidth?: number; defaultNodeColor?: string; trafficLog10Factor?: number; relationDefaultWidth?: number; renderKindAsColums?: boolean; relation?: { selectedOpacity?: number; analyticsOpacity?: number; opacity?: number; environment?: { nonPROD?: { dashArray?: string; }; }; sameKindIndentation: number; }; truncateText?: { defaultFontSizeAndFamily: string; ellipseCharacter: string; }; rootCharacter?: string; } declare class SankeyChart { private options; private calculatedHeight; private svgElement; private nodePositions; private eventHandler; private contextMenuCallbackFunction?; private className; private chartData?; private selectedNodePositionY; private truncateText?; private SVG_NS; constructor(svgElement: any, customOptions?: CustomOptions); setOptions(customOptions: CustomOptions): void; setData(chartData: ChartData): void; addSelectionChangedListeners(callbackFunction: (data: { node?: NodeProperties; position: { y: number; }; }) => void): void; addContextMenuListeners(callbackFunction: (event: MouseEvent, node: NodeProperties) => void): void; private getDirectTargetNodesOf; private initCss; private getDirectSourceNodesOf; private createTruncateText; private resetSvg; private updateHeight; private renderElipsisMenu; private deepMerge; private renderNodes; private createCopyIcon; private createCircle; private createRect; private appendCardinalityText; private createTextLines; private addHoverAndClickEvents; private createSvgText; private renderRelations; private render; private updateRelationWeights; private calculateGap; } export default SankeyChart; export { SankeyChart, CustomOptions };