import { IJsonSchema7, IJsonSchema7Definition } from './JsonSchema7'; import { IClassRef } from '../../api/IClassRef'; import { IPropertyRef } from '../../api/IPropertyRef'; import { IJsonSchemaSerializer } from './IJsonSchemaSerializer'; import { IEntityRef } from '../../api/IEntityRef'; import { IJsonSchemaSerializeOptions } from './IJsonSchemaSerializeOptions'; import { IEntityOptions } from '../options/IEntityOptions'; import { IPropertyOptions } from '../options/IPropertyOptions'; export declare class JsonSchema7Serializer implements IJsonSchemaSerializer { options: IJsonSchemaSerializeOptions; data: IJsonSchema7; current: string; constructor(opts: IJsonSchemaSerializeOptions); uri(): string; private isCurrentClass; serialize(klass: IClassRef | IEntityRef | Function | object): IJsonSchema7; getJsonSchema(): IJsonSchema7; private getOrCreateSchemaDefinitions; private getOrCreateRoot; applyRef(className: string): void; describeEntityRef(klass: IEntityRef): IJsonSchema7; describeClassRef(klass: IClassRef): IJsonSchema7; private describeRef; describeInheritedClass(root: IJsonSchema7, proto: IClassRef): void; describeClass(klass: Function): IJsonSchema7; appendProperties(data: any, properties: { [k: string]: IJsonSchema7Definition; }): void; describePropertiesForFunction(klass: Function): { [k: string]: IJsonSchema7Definition; }; describePropertiesForRef(klass: IClassRef): { [k: string]: IJsonSchema7Definition; }; isAppendTargetSet(): boolean; describePropertyForFunction(klass: Function | IClassRef, propertyName: string, instance?: any): IJsonSchema7Definition; appendAdditionalOptions(propMeta: any, data: IEntityOptions | IPropertyOptions): void; /** * General handle to check allow options method * * @param entry */ allowed(entry: IPropertyRef | string, klass?: any): boolean; describePropertyForRef(klass: IClassRef, property: IPropertyRef): IJsonSchema7Definition; describeTargetRef(property: IPropertyRef, propMeta: any, mode: 'collection' | 'single'): void; propertyPostproces(opt: IJsonSchema7): void; getNormedType(property: IPropertyRef): string | Function; getDefaultTypeHint(): any; }