import { DomainObject } from 'domain-objects'; import { z } from 'zod'; import { RequiredAction } from '../domain.objects/constants'; import { FilePracticeEvaluation } from './FilePracticeEvaluation'; /** * the plan for this file, based on the declared state the file should match */ export interface FileActionPlan { path: string; action: RequiredAction; evaluations: FilePracticeEvaluation[]; } export declare class FileActionPlan extends DomainObject implements FileActionPlan { static schema: z.ZodObject<{ path: z.ZodString; action: z.ZodEnum; evaluations: z.ZodArray; 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>>; }, z.core.$strip>; }