import { ValidationMetadata } from "./ValidationMetadata"; import { ConstraintMetadata } from "./ConstraintMetadata"; import { ValidationSchema } from "../validation-schema/ValidationSchema"; /** * Storage all metadatas. */ export declare class MetadataStorage { private validationMetadatas; private constraintMetadatas; readonly hasValidationMetaData: boolean; /** * Adds a new validation metadata. */ addValidationSchema(schema: ValidationSchema): void; /** * Adds a new validation metadata. */ addValidationMetadata(metadata: ValidationMetadata): void; /** * Adds a new constraint metadata. */ addConstraintMetadata(metadata: ConstraintMetadata): void; /** * Groups metadata by their property names. */ groupByPropertyName(metadata: ValidationMetadata[]): { [propertyName: string]: ValidationMetadata[]; }; /** * Gets all validation metadatas for the given object with the given groups. */ getTargetValidationMetadatas(targetConstructor: Function, targetSchema: string, groups?: string[]): ValidationMetadata[]; /** * Gets all validator constraints for the given object. */ getTargetValidatorConstraints(target: Function): ConstraintMetadata[]; }