import { Graph } from '../graph/graph'; import { CorePeripheryResult } from '../types/clustering-types'; import { Edge, Node } from '../types/graph'; /** * Options for core-periphery decomposition. */ export interface CorePeripheryOptions { /** Threshold for core membership (default: 0.7) */ coreThreshold?: number; /** Maximum iterations for convergence (default: 100) */ maxIterations?: number; /** Convergence epsilon (default: 0.001) */ epsilon?: number; } /** * Perform core-periphery decomposition on a graph using Borgatti-Everett model. * * Identifies a dense core of highly connected nodes and a sparse periphery. * Core nodes have high coreness scores (> threshold) and are densely connected to each other. * Periphery nodes have low coreness scores and are sparsely connected. * @template N - Node type * @template E - Edge type * @param graph - Input graph (directed or undirected) * @param options - Optional parameters (threshold, iterations, epsilon) * @returns Result with core-periphery structure or error * @example * ```typescript * const result = corePeripheryDecomposition(citationGraph, { coreThreshold: 0.7 }); * if (result.ok) { * console.log(`Core: ${result.value.structure.coreNodes.size} nodes`); * console.log(`Periphery: ${result.value.structure.peripheryNodes.size} nodes`); * console.log(`Fit quality: ${result.value.structure.fitQuality}`); * } * ``` */ export declare const corePeripheryDecomposition: (graph: Graph, options?: CorePeripheryOptions) => CorePeripheryResult; //# sourceMappingURL=core-periphery.d.ts.map