import { DomainObject } from 'domain-objects'; import { z } from 'zod'; import type { ProjectVariablesImplementation } from '../domain.objects/constants'; /** * info about the context in which a file is checked */ export interface FileCheckContext { /** * the path of the file being checked, relative to the project root */ relativeFilePath: string; /** * the variables declared for this project */ projectVariables: ProjectVariablesImplementation; /** * the names of the practices enabled for this project */ projectPractices: string[]; /** * the file contents that were declared to be checked against */ declaredFileContents: string | null; /** * defines whether this file is required or optional */ required: boolean; /** * enables getting the root directory of the project being evaluated */ getProjectRootDirectory: () => string; } export declare class FileCheckContext extends DomainObject implements FileCheckContext { static schema: z.ZodObject<{ relativeFilePath: z.ZodString; projectPractices: z.ZodArray; projectVariables: z.ZodRecord; declaredFileContents: z.ZodNullable; getProjectRootDirectory: z.ZodFunction; required: z.ZodBoolean; }, z.core.$strip>; }