import { AbstractValidator } from '../types'; import type { InferInputSchema, InferSchema, InferValidation, Schema, TupleRestParameter, Validation, ValidationOptions, Validator } from '../types'; /** A `Validator` validating any `object`. */ export declare class AnyObjectValidator extends AbstractValidator> { validate(value: unknown): Record; } /** A `Validator` validating `object`s according to a `Schema`. */ export declare class ObjectValidator extends AbstractValidator, InferInputSchema> { readonly schema: Readonly; validators: Map>; additionalProperties?: Validator; constructor(schema: S); validate(value: unknown, options?: ValidationOptions): InferSchema; } export declare function objectValidatorFactory(schema: S): S & { [Symbol.iterator](): Generator, InferInputSchema>>; }; /** Validate `object`s. */ export declare const object: typeof objectValidatorFactory & AnyObjectValidator; /** Validate `Object`s containing only the specified elements. */ export declare function objectOf(validation: V): Validator>>;