export * from './errors'; export * from './schema'; export * from './types'; export * from './utilities'; export { AnyValidator, any } from './validators/any'; export { AnyArrayValidator, ArrayValidator, array, arrayOf } from './validators/array'; export { AnyBigIntValidator, BigIntValidator, bigint } from './validators/bigint'; export { BooleanValidator, boolean } from './validators/boolean'; export { ConstantValidator, constant } from './validators/constant'; export { DateValidator, date } from './validators/date'; export { NeverValidator, never } from './validators/never'; export { AnyNumberValidator, NumberValidator, number } from './validators/number'; export { AnyObjectValidator, ObjectValidator, object, objectOf } from './validators/object'; export { OptionalValidator, optional } from './validators/optional'; export { AnyStringValidator, StringValidator, string } from './validators/string'; export { TupleValidator, tuple } from './validators/tuple'; export { AllOfValidator, OneOfValidator, allOf, oneOf } from './validators/union'; export type { ArrayConstraints, arrayValidatorFactory } from './validators/array'; export type { BrandedBigIntConstraints, bigintValidatorFactory } from './validators/bigint'; export type { BooleanConstraints, booleanValidatorFactory } from './validators/boolean'; export type { DateConstraints, dateValidatorFactory } from './validators/date'; export type { BrandedNumberConstraints, numberValidatorFactory } from './validators/number'; export type { objectValidatorFactory } from './validators/object'; export type { BrandedStringConstraints, StringConstraints, stringValidatorFactory } from './validators/string'; export type { TupleMember } from './validators/tuple'; import type { InferValidation, Validation, ValidationOptions } from './types'; /** * Validate a _value_ using the specified `Validation`. * * By default additional and forbidden properties will _not_ be stripped and * reported as an error. */ export declare function validate(validation: V, value: any, options?: ValidationOptions): InferValidation; /** * Validate a _value_ using the specified `Validation`, automatically stripping * additional properties and optional `null`s (but not forbidden ones). * * This is equivalent to: * * ``` * validate(validation, value, { * partialValidation: false, * stripAdditionalProperties: true, * stripForbiddenProperties: false, * stripOptionalNulls: true, * }) * ``` */ export declare function strip(validation: V, value: any, options?: ValidationOptions): InferValidation; /** * Validate a _value_ using the specified `Validation`, automatically stripping * additional properties and optional `null`s (but not forbidden ones), and * treating all properties as optional. * * This is equivalent to: * * ``` * validate(validation, value, { * partialValidation: true, * stripAdditionalProperties: true, * stripForbiddenProperties: false, * stripOptionalNulls: true, * }) * ``` * * This function also correctly represents the returned type as a * `Partial<...>` type. */ export declare function partial(validation: V, value: any, options?: ValidationOptions): Partial>;