import { GraphSpec } from '../spec'; import { TestEdge, TestNode, SeededRandom } from './types'; /** * Generate line graph edges. * Line graph L(G) has vertices representing edges of G, with adjacency when edges share a vertex. * @param nodes * @param edges * @param spec * @param rng */ export declare const generateLineGraphEdges: (nodes: TestNode[], edges: TestEdge[], spec: GraphSpec, rng: SeededRandom) => void; /** * Generate self-complementary graph edges. * Self-complementary graph is isomorphic to its complement. * @param nodes * @param edges * @param spec * @param rng * @param _spec * @param _rng */ export declare const generateSelfComplementaryEdges: (nodes: TestNode[], edges: TestEdge[], _spec: GraphSpec, _rng: SeededRandom) => void; /** * Generate threshold graph edges. * Threshold graphs are both split and cograph, built by iteratively adding * vertices as either dominant (connected to all existing) or isolated (connected to none). * @param nodes * @param edges * @param spec * @param rng */ export declare const generateThresholdEdges: (nodes: TestNode[], edges: TestEdge[], spec: GraphSpec, rng: SeededRandom) => void; /** * Generate strongly regular graph edges. * Strongly regular graphs are regular graphs with specific parameters (n, k, λ, μ). * @param nodes * @param edges * @param spec * @param rng */ export declare const generateStronglyRegularEdges: (nodes: TestNode[], edges: TestEdge[], spec: GraphSpec, rng: SeededRandom) => void; /** * Generate vertex-transitive graph edges. * Vertex-transitive graphs have automorphism group acting transitively on vertices. * Uses Cayley graph construction with cyclic group. * @param nodes * @param edges * @param spec * @param rng */ export declare const generateVertexTransitiveEdges: (nodes: TestNode[], edges: TestEdge[], spec: GraphSpec, rng: SeededRandom) => void; /** * Generate edge-transitive graph edges. * Edge-transitive graphs have automorphisms mapping any edge to any other edge. * Uses complete graph for simplicity (all edges symmetric). * @param nodes * @param edges * @param spec * @param rng */ export declare const generateEdgeTransitiveEdges: (nodes: TestNode[], edges: TestEdge[], spec: GraphSpec, rng: SeededRandom) => void; /** * Generate arc-transitive (symmetric) graph edges. * Arc-transitive graphs are both vertex-transitive AND edge-transitive. * Uses cycle graph C_n (which is symmetric for n ≥ 3). * @param nodes * @param edges * @param spec * @param rng */ export declare const generateArcTransitiveEdges: (nodes: TestNode[], edges: TestEdge[], spec: GraphSpec, rng: SeededRandom) => void; //# sourceMappingURL=symmetry.d.ts.map