import { GraphSpec } from '../spec'; import { TestEdge, TestNode } from './types'; /** * Check if a graph specification has an exact structure that should not be modified by density edges. * Graphs with exact structural definitions should not have additional random edges added. * @param spec */ export declare const hasExactStructure: (spec: GraphSpec) => boolean; /** * Calculate the maximum possible edges for a graph given its specification. * Accounts for directionality, self-loops, bipartite structure, and component structure. * @param nodes * @param edges * @param spec */ export declare const calculateMaxPossibleEdges: (nodes: TestNode[], edges: TestEdge[], spec: GraphSpec) => number; /** * Get the target edge count based on density specification and completeness. * @param nodes * @param edges * @param spec * @param maxPossibleEdges */ export declare const getTargetEdgeCount: (nodes: TestNode[], edges: TestEdge[], spec: GraphSpec, maxPossibleEdges: number) => number; /** * Check if a graph needs self-loop edges. * @param nodes * @param spec */ export declare const needsSelfLoop: (nodes: TestNode[], spec: GraphSpec) => boolean; /** * Get the maximum attempts for edge addition loop based on density. * @param edgesToAdd * @param densityKind */ export declare const getMaxAttempts: (edgesToAdd: number, densityKind: string) => number; //# sourceMappingURL=density-helpers.d.ts.map