import { TObject } from "@sinclair/typebox"; import Ajv from "ajv"; import { FastifyLoggerInstance } from 'fastify'; export declare type ValidationResult = [Ajv.ErrorObject[] | null | undefined]; export declare class DocumentValidator { private _log; private ajv; private schemas; /** * Map of schema validators */ private documentValidator; /** * Map of schema validators for an array of documents */ private documentArrayValidator; constructor(_log: FastifyLoggerInstance); addSchema(documentSchema: Record>): void; getSchema(collection: string): TObject; validateDocument(collectionName: string, doc: TDoc): ValidationResult; validateDocuments(collectionName: string, doc: TDoc[]): ValidationResult; validateCollectionName(collectionName: string): [boolean]; }