import { Brand, Result } from '../base'; import { ConstraintTrait, ValidatorTraits } from './traits'; import { Constraint, ValidationErrorFormatter, Validator, ValidatorFunc, ValidatorOptions } from './validator'; /** * Options used to initialize a {@link Validation.Base.GenericValidator | GenericValidator}. * @public */ export interface GenericValidatorConstructorParams { options?: ValidatorOptions; traits?: Partial; validator?: ValidatorFunc; } /** * Generic base implementation for an in-place {@link Validation.Validator | Validator}. * @public */ export declare class GenericValidator implements Validator { /** * {@inheritdoc Validation.Validator.traits} */ readonly traits: ValidatorTraits; /** * @internal */ protected readonly _validator: ValidatorFunc; /** * @internal */ protected readonly _options: ValidatorOptions; /** * Constructs a new {@link Validation.Base.GenericValidator | GenericValidator}. * @param params - The {@link Validation.Base.GenericValidatorConstructorParams | constructor params} * used to configure validation. */ constructor(params: Partial>); /** * {@inheritdoc Validation.Validator.isOptional} */ get isOptional(): boolean; /** * {@inheritdoc Validation.Validator.brand} */ get brand(): string | undefined; /** * {@inheritdoc Validation.Validator.validate} */ validate(from: unknown, context?: TC): Result; /** * {@inheritdoc Validation.Validator.convert} */ convert(from: unknown, context?: TC): Result; /** * {@inheritdoc Validation.Validator.validateOptional} */ validateOptional(from: unknown, context?: TC): Result; /** * {@inheritdoc Validation.Validator.guard} */ guard(from: unknown, context?: TC): from is T; /** * {@inheritdoc Validation.Validator.optional} */ optional(): Validator; /** * {@inheritdoc Validation.Validator.withConstraint} */ withConstraint(constraint: Constraint, trait?: ConstraintTrait): Validator; /** * {@inheritdoc Validation.Validator.brand} */ withBrand(brand: B): Validator, TC>; /** * {@inheritdoc Validation.Validator.withFormattedError} */ withFormattedError(formatter: ValidationErrorFormatter): Validator; /** * Gets a default or explicit context. * @param explicitContext - Optional explicit context. * @returns The appropriate context to use. * @internal */ protected _context(explicitContext?: TC): TC | undefined; } //# sourceMappingURL=genericValidator.d.ts.map