/**
 * Schema Semantics Utility
 * Understands validation schema logic, particularly Zod/Yup/Joi patterns
 *
 * This addresses false positives where OR validation (either A or B required)
 * is flagged as "bypass" when individual fields are marked optional.
 *
 * Key insight: `.optional()` + `.refine()` = OR validation, not bypass
 */
export interface SchemaAnalysis {
    /** Whether the schema has cross-field refinement/validation */
    hasRefinement: boolean;
    /** Type of refinement detected */
    refinementType?: 'or_logic' | 'super_refine' | 'custom_validation' | 'none';
    /** Number of optional fields in the schema */
    optionalFieldCount: number;
    /** Whether this looks like legitimate OR validation */
    isOrValidation: boolean;
}
/**
 * Analyze a validation schema for OR-logic refinement patterns
 *
 * @param content - The full file content
 * @param lineNumber - The 0-indexed line number where the pattern was found
 * @returns SchemaAnalysis with refinement information
 */
export declare function analyzeSchemaSemantics(content: string, lineNumber: number): SchemaAnalysis;
/**
 * Check if a line with .optional() is part of legitimate OR validation
 *
 * @param content - The full file content
 * @param lineNumber - The 0-indexed line number where .optional() was found
 * @returns true if this is part of OR validation (not a bypass)
 */
export declare function isLegitimateOrValidation(content: string, lineNumber: number): boolean;
/**
 * Check if a 2FA-related field with .optional() has proper OR validation
 * Specifically for 2FA patterns where either totpCode OR backupCode is required
 *
 * @param content - The full file content
 * @param lineNumber - The 0-indexed line number
 * @returns true if this is legitimate 2FA OR validation
 */
export declare function is2FAOrValidation(content: string, lineNumber: number): boolean;
//# sourceMappingURL=schema-semantics.d.ts.map