import { TestEdge, TestNode } from '../generation/generators/types'; /** * Check if graph is connected using BFS. * @param nodes * @param edges * @param directed */ export declare const isConnected: (nodes: TestNode[], edges: TestEdge[], directed: boolean) => boolean; /** * Build adjacency list from edges. * @param nodes * @param edges * @param directed */ export declare const buildAdjacencyList: (nodes: TestNode[], edges: TestEdge[], directed: boolean) => Map; /** * Find connected components for density calculation. * Returns array of components, where each component is an array of node IDs. * @param nodes * @param edges * @param directed */ export declare const findComponentsForDensity: (nodes: TestNode[], edges: TestEdge[], directed: boolean) => string[][]; /** * Check if a graph is bipartite using BFS 2-coloring. * A graph is bipartite if and only if it is 2-colorable. * @param nodes * @param edges * @param directed */ export declare const checkBipartiteWithBFS: (nodes: TestNode[], edges: TestEdge[], directed: boolean) => boolean; /** * Generate all k-combinations from array. * @param arr * @param array * @param k */ export declare const getCombinations: (array: T[], k: number) => T[][]; /** * Check if 4 vertices form induced P4 (path on 4 vertices). * @param vertices * @param adjacency * @param directed */ export declare const hasInducedP4: (vertices: string[], adjacency: Map>, directed: boolean) => boolean; /** * Find all induced cycles of given length. * @param vertices * @param adjacency * @param length * @param directed */ export declare const findInducedCycles: (vertices: string[], adjacency: Map>, length: number, directed: boolean) => string[][]; /** * Check if cycle has a chord (edge between non-consecutive vertices). * Cycle format: [v0, v1, ..., vn-1] where vertices form a cycle v0-v1-...-vn-1-v0. * @param cycle * @param adjacency * @param directed */ export declare const hasChord: (cycle: string[], adjacency: Map>, directed: boolean) => boolean; /** * Check if graph is transitively orientable (simplified check). * @param nodes * @param edges * @param directed */ export declare const checkTransitiveOrientation: (nodes: TestNode[], edges: TestEdge[], directed: boolean) => boolean; /** * Compute spectral radius approximation using power iteration. * Returns the largest eigenvalue (in absolute value) of the adjacency matrix. * @param nodes - Graph nodes * @param adjacency - Adjacency list * @returns Approximate spectral radius */ export declare const computeSpectralRadiusApproximation: (nodes: TestNode[], adjacency: Map) => number; /** * Compute algebraic connectivity (Fiedler value) using bounds. * Returns approximation of λ₂ (second smallest Laplacian eigenvalue). * Uses Fiedler value bounds for efficiency. * @param nodes - Graph nodes * @param adjacency - Adjacency list * @returns Approximate algebraic connectivity */ export declare const computeAlgebraicConnectivityBounds: (nodes: TestNode[], adjacency: Map) => number; //# sourceMappingURL=helper-functions.d.ts.map