import Graph, {Attributes, EdgeMapper} from 'graphology-types'; type RNGFunction = () => number; type PointerArray = Uint8Array | Uint16Array | Uint32Array | Float64Array; export type RobustRandomnessLouvainOptions< NodeAttributes extends Attributes = Attributes, EdgeAttributes extends Attributes = Attributes > = { nodeCommunityAttribute?: string; getEdgeWeight?: | keyof EdgeAttributes | EdgeMapper | null; resolution?: number; rng?: RNGFunction; }; type RobustRandomnessLouvainMapping = {[node: string]: number}; export type DetailedRobustRandomnessLouvainOutput = { communities: RobustRandomnessLouvainMapping; count: number; deltaComputations: number; dendrogram: Array; modularity: number; moves: Array> | Array; nodesVisited: number; resolution: number; }; interface IRobustRandomnessLouvain< NodeAttributes extends Attributes = Attributes, EdgeAttributes extends Attributes = Attributes > { ( graph: Graph, options?: RobustRandomnessLouvainOptions ): RobustRandomnessLouvainMapping; assign( graph: Graph, options?: RobustRandomnessLouvainOptions ): void; detailed( graph: Graph, options?: RobustRandomnessLouvainOptions ): DetailedRobustRandomnessLouvainOutput; } declare const robustRandomnessLouvain: IRobustRandomnessLouvain; export default robustRandomnessLouvain;