import { TypeValue } from '@davinci/reflector'; import { EntityDefinitionJSONSchema, JSONSchema } from './types'; interface EntityDefinitionOptions { name?: string; type?: TypeValue; jsonSchema?: JSONSchema; entityDefinitionsMapCache?: Map; reflect?: boolean; } /** * The EntityDefinition class serves as a base class that provides a wrapper for "complex" entities and their properties. * In this context, "complex" refers to schemas that are represented by classes. */ export declare class EntityDefinition { private name?; private readonly type; private entityDefinitionJsonSchema?; private entityDefinitionsMapCache; constructor(options: EntityDefinitionOptions); getName(): string | undefined; getEntityDefinitionJsonSchema(): EntityDefinitionJSONSchema; getType(): TypeValue | undefined; /** * This method traverses the class and generates the EntityDefinitionJSONSchema */ private reflect; private findEntityDecorator; private filterEntityPropDecorators; private findEntityPropDecorator; } export {};