import { AuthorizationOptions } from "../authorization/authorization.options"; import { User } from "../user/user.model"; interface Validator { setNext(validator: Validator): Validator; validate(user?: User, options?: AuthorizationOptions): boolean; onValidate(user?: User, options?: AuthorizationOptions): boolean; } export declare abstract class AbstractValidator implements Validator { private _nextValidator; /** * @param {Validator} nextValidator - The next validator in the chain * @returns {Validator} - The next validator in the chain */ setNext(validator: Validator): Validator; /** * @param {User} user - The user to validate * @param {AuthorizationOptions} [options] - The options to validate the user with * @returns {boolean} - The result of the validation process (true if the user is valid) */ validate(user?: User, options?: AuthorizationOptions): boolean; /** * The abstract method to be implemented by the concrete validator * @param {User} user - The user to validate * @param {AuthorizationOptions} [options] - The options to validate the user with * @returns {boolean} - The result of the validation process (true if the user is valid) */ abstract onValidate(user?: User, options?: AuthorizationOptions): boolean; } export {}; //# sourceMappingURL=abstract.validator.d.ts.map