import { DesiredAssignment } from './model.js'; import { Finding } from './finding.js'; /** One file's text turned into the model, with everything the three stages had to say. */ export type CheckedFile = { assignments: DesiredAssignment[]; findings: Finding[]; }; /** * Process one file's text through parse, validate, and normalize. Takes the text rather than * the path, because reading a file is I/O and this layer does none: the caller in `services/` * owns the disk, the same way it already owns the disk on the way back out through export. * The file name is carried only so a finding can say where it came from. */ export declare function checkContent(text: string, file: string): CheckedFile; /** * Merge every checked file into one model by union, keeping the first spelling of each * (assignee, kind, target). Two files granting the same target to the same user describe one * assignment, so declaring it twice is not an error and must not be applied twice. */ export declare function mergeAssignments(checked: CheckedFile[]): DesiredAssignment[]; /** Every finding the checked files raised, in the order the files were read. */ export declare function mergeFindings(checked: CheckedFile[]): Finding[]; //# sourceMappingURL=load.d.ts.map