import { Selection } from 'd3-selection'; import { ComponentCore } from '../../core/component'; import { GraphDataModel } from '../../data-models/graph'; import { ExtendedSizeComponent } from '../../types/component'; import { Spacing } from '../../types/spacing'; import { SankeyConfigInterface } from './config'; import { SankeyInputLink, SankeyInputNode, SankeyLink, SankeyNode, SankeyZoomOrigin } from './types'; import * as s from './style'; export declare class Sankey extends ComponentCore<{ nodes: N[]; links?: L[]; }, SankeyConfigInterface> implements ExtendedSizeComponent { static selectors: typeof s; protected _defaultConfig: SankeyConfigInterface; config: SankeyConfigInterface; datamodel: GraphDataModel, SankeyLink>; g: Selection; private _gNode; private _prevWidth; private _extendedWidth; private _extendedHeight; private _extendedHeightIncreased; private _extendedWidthIncreased; private _linksGroup; private _nodesGroup; private _backgroundRect; private _sankey; private _highlightTimeoutId; private _highlightActive; private _zoomScale; private _pan; private _zoomBehavior; private _prevZoomTransform; private _animationFrameId; private _bleedCached; events: { [x: string]: { mouseenter: (d: SankeyNode, event: MouseEvent) => void; mouseleave: (d: SankeyNode, event: MouseEvent) => void; } | { mouseenter: (d: SankeyLink) => void; mouseleave: () => void; }; }; constructor(config?: SankeyConfigInterface); get bleed(): Spacing; setData(data: { nodes: N[]; links?: L[]; }): void; setConfig(config: SankeyConfigInterface): void; _render(customDuration?: number): void; private _applyPanTransform; private _scheduleRender; private _getConstrainedPan; setZoomScale(horizontalScale?: number, verticalScale?: number, duration?: number, zoomOrigin?: SankeyZoomOrigin): void; getZoomScale(): [number, number]; setPan(x: number, y: number, duration?: number, shouldConstraint?: boolean): void; getPan(): [number, number]; fitView(duration?: number): void; private _onZoom; private _populateLinkAndNodeValues; private _preCalculateComponentSize; private _prepareLayout; private _applyLayoutScaling; getWidth(): number; getHeight(): number; getLayoutWidth(): number; getLayoutHeight(): number; getSankeyDepth(): number; /** @deprecated Use getLayerXCenters instead */ getColumnCenters(): number[]; getLayerXCenters(): number[]; getLayerYCenters(): number[]; highlightSubtree(node: SankeyNode): void; recursiveSetSubtreeState(node: SankeyNode, linksKey: 'sourceLinks' | 'targetLinks', nodeKey: 'source' | 'target', key: string, value: unknown): void; disableHighlight(): void; private _hasLinks; private _getLayerSpacing; private _getScaledWidth; private _onNodeMouseOver; private _onNodeMouseOut; private _onNodeRectMouseOver; private _onNodeRectMouseOut; private _onLinkMouseOver; private _onLinkMouseOut; }