import { TestGraph } from '../generation/generator'; import { TestEdge, TestNode } from '../generation/generators/types'; import { PropertyValidationResult } from './types'; /** * Validate graph directionality matches spec. * Checks that edge structure corresponds to directed vs undirected specification. * * @param graph - Test graph to validate * @returns Validation result for directionality property */ export declare const validateDirectionality: (graph: TestGraph) => PropertyValidationResult; /** * Validate graph weighting matches spec. * Checks that all edges have appropriate weight values. * * @param graph - Test graph to validate * @returns Validation result for weighting property */ export declare const validateWeighting: (graph: TestGraph) => PropertyValidationResult; /** * Validate graph cyclicity matches spec. * Uses DFS to detect cycles in directed graphs. * * @param graph - Test graph to validate * @param _adjustments - Optional validation adjustments for constrained graphs * @returns Validation result for cycles property */ export declare const validateCycles: (graph: TestGraph, _adjustments?: Partial>) => PropertyValidationResult; /** * Validate graph connectivity matches spec. * Uses BFS to check if all nodes are reachable from the first node. * * @param graph - Test graph to validate * @returns Validation result for connectivity property */ export declare const validateConnectivity: (graph: TestGraph) => PropertyValidationResult; /** * Validate graph schema homogeneity matches spec. * Checks whether nodes and edges have uniform types. * * @param graph - Test graph to validate * @returns Validation result for schema property */ export declare const validateSchema: (graph: TestGraph) => PropertyValidationResult; /** * Validate graph edge multiplicity matches spec. * Checks for parallel edges between the same pair of nodes. * * @param graph - Test graph to validate * @returns Validation result for edge multiplicity property */ export declare const validateEdgeMultiplicity: (graph: TestGraph) => PropertyValidationResult; /** * Validate graph self-loop property matches spec. * Checks for edges where source equals target. * * @param graph - Test graph to validate * @returns Validation result for self-loops property */ export declare const validateSelfLoops: (graph: TestGraph) => PropertyValidationResult; /** * Detect cycles in a graph using DFS with recursion stack. * * For directed graphs: * - Uses recursion stack to detect back edges * - A back edge to a node in the current DFS path indicates a cycle * * For undirected graphs: * - Uses parent tracking to avoid false positives from parent edges * - An edge to a visited node that's not the parent indicates a cycle * * @param nodes - Graph nodes * @param edges - Graph edges * @param directed - Whether the graph is directed * @returns true if a cycle exists, false otherwise */ export declare const detectCycle: (nodes: TestNode[], edges: TestEdge[], directed: boolean) => boolean; //# sourceMappingURL=basic-validators.d.ts.map