export = Validation; /** * @class Validation */ declare class Validation { /** @type {...ValidationType} */ types: ValidationType; /** @type {string[]} */ typeAllowsChildren: string[]; /** @type {DocumentSpecification} */ specification: DocumentSpecification; /** @type {Koncorde} */ koncorde: Koncorde; rawConfiguration: {}; logger: import("../../kuzzle/Logger").Logger; /** * Walks through all types in "defaultTypesFiles" initializes all types */ init(): void; /** * Validates a document against its collection specifications * * @param {Request} request * @param {boolean} [verbose] * @returns {Promise.<{documentBody: *, errorMessages:string[], valid: boolean}|KuzzleRequest>} */ validate(request: Request, verbose?: boolean): Promise<{ documentBody: any; errorMessages: string[]; valid: boolean; } | KuzzleRequest>; /** * @param {boolean} isUpdate * @param {*} documentSubset * @param {...StructuredFieldSpecification} collectionSpecSubset */ recurseApplyDefault(isUpdate: boolean, documentSubset: any, collectionSpecSubset: StructuredFieldSpecification): any; /** * @param {*} documentSubset * @param {StructuredFieldSpecification} collectionSpecSubset * @param {boolean} strictness * @param {string[]} errorMessages * @param {boolean} verbose */ recurseFieldValidation(documentSubset: any, collectionSpecSubset: StructuredFieldSpecification, strictness: boolean, errorMessages: string[], verbose: boolean): boolean; /** * @param {string} fieldName * @param {*} documentSubset * @param {StructuredFieldSpecification} collectionSpecSubset * @param {boolean} strictness * @param {string[]} errorMessages * @param {boolean} verbose * @returns {boolean} */ isValidField(fieldName: string, documentSubset: any, collectionSpecSubset: StructuredFieldSpecification, strictness: boolean, errorMessages: string[], verbose: boolean): boolean; /** * @returns {Promise.} */ curateSpecification(): Promise; /** * @param {string} indexName * @param {string} collectionName * @param {CollectionSpecification} collectionSpec * @param {boolean} [verboseErrors] * @returns {Promise} */ validateFormat(indexName: string, collectionName: string, collectionSpec: CollectionSpecification, verboseErrors?: boolean): Promise; /** * @param {string} index * @param {string} collection * @param {CollectionSpecification} spec * @param {boolean} [dryRun] * @param {boolean} [verbose] * @returns {Promise} * @rejects PreconditionError */ curateCollectionSpecification(index: string, collection: string, spec: CollectionSpecification, dryRun?: boolean, verbose?: boolean): Promise; structureCollectionValidation(collectionSpec: any, indexName: any, collectionName: any, verboseErrors?: boolean): any; /** * @param {FieldSpecification} fieldSpec * @param {string} indexName * @param {string} collectionName * @param {string} fieldName * @param {boolean} [verboseErrors] * @returns {object} * @throws PreconditionError */ curateFieldSpecification(fieldSpec: FieldSpecification, indexName: string, collectionName: string, fieldName: string, verboseErrors?: boolean): object; /** * @param {FieldSpecification} fieldSpec * @param {string} indexName * @param {string} collectionName * @param {string} fieldName * @param {boolean} [verboseErrors] * @returns {object} * @throws PreconditionError */ curateFieldSpecificationFormat(fieldSpec: FieldSpecification, indexName: string, collectionName: string, fieldName: string, verboseErrors?: boolean): object; /** * @param {string} indexName * @param {string} collectionName * @param {*} validatorFilter * @param {boolean} dryRun * @returns {string} */ curateValidatorFilter(indexName: string, collectionName: string, validatorFilter: any, dryRun: boolean): string; /** * @param {ValidationType} validationType * @throws {PluginImplementationError} */ addType(validationType: ValidationType): void; } import { Koncorde } from "koncorde";