import { DomainObject } from 'domain-objects'; import { z } from 'zod'; import { FileCheckEvaluation, FileEvaluationResult } from './FileCheckEvaluation'; import { PracticeDeclaration } from './PracticeDeclaration'; /** * a practice is fixable if any check that failed is fixable (since there could be one fix to fix them all) */ export declare const isFixablePractice: (evaluation: FilePracticeEvaluation) => boolean; /** * a file evaluated in the context of a practice */ export interface FilePracticeEvaluation { path: string; result: FileEvaluationResult; checks: FileCheckEvaluation[]; practice: PracticeDeclaration; } export declare class FilePracticeEvaluation extends DomainObject implements FilePracticeEvaluation { static schema: z.ZodObject<{ path: z.ZodString; result: z.ZodEnum; checks: z.ZodArray; 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>>; practice: z.ZodObject<{ name: z.ZodString; bestPractice: z.ZodNullable; checks: z.ZodArray; type: z.ZodEnum; required: z.ZodBoolean; check: z.ZodFunction; fix: z.ZodNullable>; contents: z.ZodNullable>; }, z.core.$strip>>; }, z.core.$strip>>; badPractices: z.ZodArray; checks: z.ZodArray; type: z.ZodEnum; required: z.ZodBoolean; check: z.ZodFunction; fix: z.ZodNullable>; contents: z.ZodNullable>; }, z.core.$strip>>; }, z.core.$strip>>; }, z.core.$strip>; }, z.core.$strip>; }