/** * Criteria Validator * * Responsável por validar critérios de sucesso, garantindo que sejam * objetivos, verificáveis automaticamente e com resultado binário. */ import { Criterion, CriterionValidationResult, CriteriaValidationResult } from '../../shared/types/index.js'; /** * Valida a estrutura de um critério usando Zod */ export declare function validateCriterionStructure(criterion: unknown): { valid: true; data: Criterion; } | { valid: false; errors: string[]; }; /** * Verifica se a descrição do critério é objetiva (não contém palavras subjetivas) */ export declare function isObjective(criterion: Criterion): boolean; /** * Verifica se o critério é verificável automaticamente */ export declare function isVerifiable(criterion: Criterion): boolean; /** * Verifica se o resultado do critério é binário (sim/não) */ export declare function isBinary(criterion: Criterion): boolean; /** * Valida um critério completamente (estrutura + objetividade + verificabilidade) */ export declare function validateCriterion(criterion: unknown): CriterionValidationResult; /** * Valida múltiplos critérios */ export declare function validateAllCriteria(criteria: unknown[]): CriteriaValidationResult; /** * Executa a verificação de um critério */ export declare function executeCriterionCheck(criterion: Criterion, workingDirectory?: string): Promise; /** * Executa verificação de múltiplos critérios */ export declare function executeAllCriteriaChecks(criteria: Criterion[], workingDirectory?: string): Promise; /** * Cria um critério de comando */ export declare function createCommandCriterion(id: string, description: string, command: string, expectedExitCode?: number): Criterion; /** * Cria um critério de arquivo */ export declare function createFileCriterion(id: string, description: string, path: string, shouldExist?: boolean): Criterion; /** * Cria um critério de conteúdo */ export declare function createContentCriterion(id: string, description: string, path: string, pattern: string, shouldMatch?: boolean): Criterion; /** * Cria um critério de build */ export declare function createBuildCriterion(id: string, description: string, command: string, allowWarnings?: boolean): Criterion; //# sourceMappingURL=criteria-validator.d.ts.map