import { Constructable } from './constructable.type'; import CtorEnsureArgError from './ctor-ensure-arg-error.interface'; import CtorEnsureConfig from './ctor-ensure-config.interface'; import { ValidationControl } from './validation-control.interface'; export declare const META_KEY_VALIDATION = "CTOR_ENSURE:VALIDATION"; export declare const META_KEY_DISPLAYNAME = "CTOR_ENSURE:DISPLAYNAME"; export declare const META_KEY_VALIDATION_UNIQUE: (displayname: string) => string; export declare const classRegistry: { [key: string]: { clazz: Constructable; proto: any; config: CtorEnsureConfig; }; }; /** * Get all active controls from a class' metadata, taking block-lists into account * @param clazz Class to search in * @param displayname Displayname of the class to construct metadata key * @param blockedFields List of currently blocked fields * @returns List of validation-controls that are currently active */ export declare const getActiveControls: (clazz: Constructable, displayname: string, blockedFields: string[]) => ValidationControl[]; /** * Validate a registered class' constructor arguments * @param displayname Unique name of known class * @param ctorArgs Constructor arguments * @param templateLang Language to use for rendering ensure templates * @returns List of occurred errors */ export declare const validateClassCtor: (displayname: string, ctorArgs: any[], templateLang?: string) => CtorEnsureArgError[]; /** * Decorator signalling that the following class' constructor will be validated * using {@link ValidatedArg} decorators on members in constructor. * All validation errors will be thrown using a single {@link CtorEnsureException} * @param displayname Displayname of class * @param multipleErrorsPerField Whether or not to display multiple errors per field, default false */ export declare const CtorEnsure: (config: CtorEnsureConfig) => (Clazz: Constructable) => any; //# sourceMappingURL=ctor-ensure.decorator.d.ts.map