import type { PassContent } from '../content'; import { type PassProblem } from './rules'; /** * Checks a pass against {@link RULES} before it is signed. * * Every problem at once rather than the first — a caller fixing a pass wants the * list, and a test asserting a refusal wants to name the rule it expects rather * than the order the checks happen to run in. */ export declare function validateContent(content: PassContent): PassProblem[]; /** * The images, checked for presence, format and the density relationship. * * The density check is the one that earns its place: an `@2x` that is not * exactly twice its base is scaled by the device rather than refused, so the * failure is a blurred logo on the newest phones and nothing at all in a log. */ export declare function validateAssets(content: PassContent): PassProblem[]; /** * The same rules, applied to a `pass.json` read out of an archive. * * Deliberately a second implementation over a different input rather than a * reuse of {@link validateContent}. That one checks the model we were handed; * this one checks the file that was actually written, which is the only thing a * device ever sees. A checker that inspects the builder's own intermediate state * agrees with the builder by construction and catches nothing. */ export declare function validatePassJson(passJson: unknown): PassProblem[]; //# sourceMappingURL=validate.d.ts.map