/**
 * Gate File Validation — Depth Limit and Cycle Detection
 *
 * Story 107-2: Validates gate file content (XML-like format) for:
 * 1. Maximum nesting depth (3 levels)
 * 2. Cyclic gate name references
 *
 * Gate files use nested <gate name="..."> elements.
 * Depth counted from root (Level 0) to max Level 3.
 * Cycles detected via DFS on gate name adjacency graph.
 */
/**
 * Error detail for gate file validation failures
 */
export interface GateFileValidationError {
    /** Error category: depth limit, cycle, or schema */
    type: 'depth' | 'cycle' | 'schema';
    /** Human-readable error message */
    message: string;
}
/**
 * Result of gate file validation
 */
export interface GateFileValidationResult {
    /** Whether the gate file is valid */
    valid: boolean;
    /** Root gate name (if parseable) */
    gate?: string;
    /** Maximum nesting depth found */
    depth?: number;
    /** Validation errors (only present if invalid) */
    errors?: GateFileValidationError[];
}
/**
 * Validate nesting depth of gate elements in a gate file.
 * Max allowed depth is 3 (Level 0 = root, Level 3 = max).
 */
export declare function validateGateDepth(content: string): GateFileValidationResult;
/**
 * Detect cycles in gate name references via DFS.
 * A cycle exists when a gate name appears as both an ancestor
 * and descendant in the nesting hierarchy.
 */
export declare function detectGateCycles(content: string): GateFileValidationResult;
/**
 * Full gate file validation — combines depth and cycle checks.
 */
export declare function validateGateFile(content: string): GateFileValidationResult;
//# sourceMappingURL=gate-file-validation.d.ts.map