/**
 * Modularity quality functions.
 * Vendored from ngraph.leiden (MIT) — no external dependencies.
 */
/**
 * Minimal view of a partition needed by modularity quality functions.
 */
export interface PartitionView {
    readonly communityCount: number;
    nodeCommunity: Int32Array;
    readonly communityInternalEdgeWeight: Float64Array;
    readonly communityTotalStrength: Float64Array;
    readonly communityTotalOutStrength: Float64Array;
    readonly communityTotalInStrength: Float64Array;
    getNeighborEdgeWeightToCommunity(c: number): number;
    getOutEdgeWeightToCommunity(c: number): number;
    getInEdgeWeightFromCommunity(c: number): number;
}
/**
 * Minimal view of a graph needed by modularity quality functions.
 */
export interface GraphView {
    n: number;
    directed: boolean;
    totalWeight: number;
    strengthOut: Float64Array;
    strengthIn: Float64Array;
    selfLoop: Float64Array;
}
export declare function diffModularity(part: PartitionView, g: GraphView, v: number, c: number, gamma?: number): number;
export declare function diffModularityDirected(part: PartitionView, g: GraphView, v: number, c: number, gamma?: number): number;
export declare function qualityModularity(part: PartitionView, g: GraphView, gamma?: number): number;
//# sourceMappingURL=modularity.d.ts.map