import { MessageBag } from './MessageBag.js'; import type { RuleMap } from './validate.js'; import { type ValidationMessages } from './ValidationMessages.js'; /** * Validator entrypoint: {@link Validator.make} for inspection, {@link Validator.validate} / instance {@link validate} to throw {@link ValidationException} on failure. * * Typical usage: * - `Validator.validate(data, rules, messages)` — returns validated data or throws {@link ValidationException}. * - `const v = Validator.make(data, rules, messages); if (v.fails()) { ... v.errors(); }` */ export declare class Validator { private readonly data; private readonly rules; private readonly messages; private result; private constructor(); /** * Create a validator instance (does not run until {@link passes}, {@link fails}, {@link validate}, or {@link errors}). */ static make(data: unknown, rules: RuleMap, messages?: ValidationMessages): Validator; /** * Run validation and return validated data, or throw {@link ValidationException}. */ static validate(data: unknown, rules: RuleMap, messages?: ValidationMessages): Record; /** * Run validation; on failure throws {@link ValidationException} (register `Application`’s error handler for **422** JSON). * * @returns The validated subset of `data` (keys listed in `rules` only). */ validate(): Record; /** * `true` if validation passed. */ passes(): boolean; /** * `true` if validation failed. */ fails(): boolean; /** * {@link MessageBag} of errors (empty when {@link passes}). */ errors(): MessageBag; /** * Validated data after a successful run; throws if validation has not passed. */ validated(): Record; private run; } //# sourceMappingURL=Validator.d.ts.map