import { GraphSpec } from '../spec.js'; import { SeededRandom, TestEdge, TestNode } from './types.js'; /** * Generate Modular edges. * Modular graphs have no twin vertices (no two vertices with identical external neighborhoods). * * Generates paths or caterpillar trees to ensure no twins: * - Paths: Each vertex has unique position and degree * - Caterpillar trees: Main path with leaves attached asymmetrically * * @param nodes - Graph nodes * @param edges - Edge list to populate * @param spec - Graph specification * @param rng - Seeded random number generator */ export declare const generateModularEdges: (nodes: TestNode[], edges: TestEdge[], spec: GraphSpec, rng: SeededRandom) => void; /** * Generate Ptolemaic edges using block graph construction. * Ptolemaic graphs are chordal and distance-hereditary. * Block graphs (trees of cliques) satisfy both properties. * * Construction: * - Partition nodes into cliques (blocks) * - Connect blocks in a tree structure * - Each block is a complete subgraph * * @param nodes - Graph nodes * @param edges - Edge list to populate * @param spec - Graph specification * @param rng - Seeded random number generator * @param _rng */ export declare const generatePtolemaicEdges: (nodes: TestNode[], edges: TestEdge[], spec: GraphSpec, _rng: SeededRandom) => void; /** * Generate QuasiLine edges. * Quasi-line graphs are either line graphs or complete bipartite. * We use a 60/40 mix favoring line graphs. * * Construction: * - 60% chance: Generate a line graph (graph of a base graph's edges) * - 40% chance: Generate complete bipartite K_{m,n} * * @param nodes - Graph nodes * @param edges - Edge list to populate * @param spec - Graph specification * @param rng - Seeded random number generator */ export declare const generateQuasiLineEdges: (nodes: TestNode[], edges: TestEdge[], spec: GraphSpec, rng: SeededRandom) => void; //# sourceMappingURL=perfect-variants.d.ts.map