interface Node { kind: string; name: string; title?: string; subtitle?: string; color?: string; tags?: string[]; } interface Cardinality { sourceCount?: number; targetCount?: number; sameKindCount?: number; } interface NodeProperties extends Node { targetCount?: number; sourceCount?: number; placeHolder?: boolean; cardinality?: Cardinality; selectedCardinality?: Cardinality; hasRelatedSourceOfOtherKinds?: boolean; hasRelatedSourceOfSameKind?: boolean; hasRelationsOfSameKinds?: boolean; } interface Magnitude { nodes: Node[]; value: number; decomposition: { [key: string]: number; }; } interface Analytics { traffic: number; environment?: string; errors?: number; } interface Relation { source: Node; target: Node; analytics?: Analytics; environment?: string; } declare enum IncludeKind { WITH_SAME_TARGET = "WITH_SAME_TARGET" } interface SankeyChartDataOptions { noTag?: string; noTagSuffixCharacter?: string; relationDefaultWidth?: number; defaultColor?: string; tagColorMap?: { [key: string]: string; }; kinds: KindMeta[]; showRelatedKinds?: boolean; showSameKindsOnNonSelected?: boolean; selectAndFilter?: boolean; } interface Kind { name: string; title?: string; color?: string; } interface KindMeta extends Kind { includeAlternative?: IncludeKind; } declare class SankeyChartData { selectedNode?: NodeProperties; nodes: NodeProperties[]; dependencies: { relations: Relation[]; hasRelatedSourceOfOtherKinds: boolean; }; originalData: { name: string; color?: string; nodes: NodeProperties[]; relations: Relation[]; }; allNodesLoaded: boolean; nodesByKinds: { [key: string]: NodeProperties[]; }; title?: KindMeta; options: SankeyChartDataOptions; constructor(data: { name: string; color?: string; nodes?: Node[]; relations?: Relation[]; }, options: SankeyChartDataOptions, partialData?: boolean); initialize(): void; resetColors(): void; setOptions(options: SankeyChartDataOptions): void; appendData(data: { nodes: Node[]; relations: Relation[]; }, selectedNode?: Node): void; getNodes(): NodeProperties[]; getNodesByKind(kind: string): NodeProperties[]; getRelations(): Relation[]; getKinds(): Kind[]; getTitle(): KindMeta | undefined; setTitle(title?: KindMeta): void; getSelectedNode(): NodeProperties | undefined; selectNode(node?: Node): NodeProperties | undefined; private sortNodesAlpabetically; private sortNodes; private sortNodesOfKind; private sortRelations; private initializeSortRelations; private initializeRelationsInfo; getNodeTagColor: (node: Node) => string | undefined; searchByName(node: { kind: string; name: string; }): NodeProperties[]; filterDependencies(selectedNode: NodeProperties, selectedKind?: KindMeta): { relations: Relation[]; hasRelatedSourceOfOtherKinds: boolean; }; private targetTargetRelations; filterNodes(relations: Relation[]): NodeProperties[]; private mergeData; } export { SankeyChartData, NodeProperties, Relation, Magnitude, SankeyChartDataOptions, Kind, Analytics, Node, IncludeKind, Cardinality };