import { DomainObject } from 'domain-objects'; import { z } from 'zod'; import { FileCheckContext } from './FileCheckContext'; import { FileCheckPurpose, FileCheckType, type FileFixFunction } from './FileCheckDeclaration'; export declare enum FileEvaluationResult { PASS = "PASS", FAIL = "FAIL" } export declare const hasFailed: (evaluation: { result: FileEvaluationResult; }) => boolean; export declare const hasPassed: (evaluation: { result: FileEvaluationResult; }) => boolean; export declare const isFixableCheck: (evaluation: FileCheckEvaluation) => boolean; /** * the result of evaluating a check on a file */ export interface FileCheckEvaluation { practiceRef: string; purpose: FileCheckPurpose; type: FileCheckType; required: boolean; path: string; result: FileEvaluationResult; reason: string | null; fix: FileFixFunction | null; context: FileCheckContext; } export declare class FileCheckEvaluation extends DomainObject implements FileCheckEvaluation { static schema: z.ZodObject<{ practiceRef: z.ZodString; purpose: z.ZodEnum; type: z.ZodEnum; required: z.ZodBoolean; path: z.ZodString; result: z.ZodEnum; reason: z.ZodNullable; fix: z.ZodNullable>; context: z.ZodObject<{ relativeFilePath: z.ZodString; projectPractices: z.ZodArray; projectVariables: z.ZodRecord; declaredFileContents: z.ZodNullable; getProjectRootDirectory: z.ZodFunction; required: z.ZodBoolean; }, z.core.$strip>; }, z.core.$strip>; }