import { SankeyChartData as ChartData, Node } from './sankey-chart-data'; interface CustomOptions { nodeWidth?: number; nodeLineHeight?: number; marginX?: number; marginY?: number; leftX?: number; topY?: number; nodeMarginY?: number; nameMaxLength?: number; nodeColumnWith?: 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 contextMenuElement?; private contextMenuDynamicLinks?; private className; private chartData?; private selectedNodePositionY; private truncateText?; private SVG_NS; constructor(svgElement: any, customOptions?: CustomOptions); private setOptions; setData(chartData: ChartData): void; getData(): ChartData | undefined; addSelectionChangedListeners(callbackFunction: (data: { node?: Node; position: { y: number; }; }) => void): void; addContextMenuListeners(contextMenuElement: HTMLElement, callbackFunction: (context: any) => { label: string; url: string; target?: string; }[]): void; addFetchDataListeners(callbackFunction: (data: any) => void): void; private createTruncateText; private resetSvg; private updateHeight; private renderElipsisMenu; private showContextMenu; private openPage; private closeContextMenu; private deepMerge; private renderNodes; 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 };