/** * Config Schema Validation * * Validates the extended .specforge.json configuration schema. * Each section is validated independently — absent sections are * considered valid (all sections are optional). * * Uses manual validation (no external libs) to match existing patterns. */ /** * A single validation error with field path and expected values. */ export interface ValidationError { /** Dot-separated field path (e.g., "agentTeams.strategy") */ field: string; /** Human-readable error message including expected values */ message: string; /** The actual value that failed validation */ value: unknown; } /** * Result of a validation operation. */ export interface ValidationResult { /** Whether all validations passed */ valid: boolean; /** List of validation errors (empty when valid) */ errors: ValidationError[]; } /** * Validate the `agentTeams` config section. * * Returns valid:true if the section is absent/undefined. * Only validates fields that are present (all are optional). */ export declare function validateAgentTeamsConfig(config: unknown): ValidationResult; /** * Validate the `activeSpecification` config section. * * Returns valid:true if the section is absent/undefined. * When present, `id`, `title`, and `activatedAt` are required. */ export declare function validateActiveSpecification(config: unknown): ValidationResult; /** * Validate the `monorepo` config section. * * Returns valid:true if the section is absent/undefined. * Validates tool enum, workspaces array structure, and path formats. */ export declare function validateMonorepoConfig(config: unknown): ValidationResult; /** * Validate the entire .specforge.json config for Agent Teams sections. * * Orchestrates sub-validators and aggregates all errors. * Only validates the new Agent Teams sections — existing ProjectConfig * fields are validated elsewhere. * * @param config - Raw parsed JSON object from .specforge.json * @returns Combined validation result from all sections */ export declare function validateSpecforgeJson(config: unknown): ValidationResult; /** * Format validation errors into human-readable lines. * * @param errors - Array of validation errors * @returns Formatted error strings, one per line */ export declare function formatValidationErrors(errors: ValidationError[]): string[]; //# sourceMappingURL=validation.d.ts.map