import type { JSONSchema7 } from 'json-schema'; import type { Type, Node } from 'typescript'; import { BaseEntity } from './entity/base'; import { IFormatter } from './formatter/base'; import { IParser } from './parser/base'; import { IPlatformIndependentHost } from '../types'; export declare class SchemaGenerator { private parser; private formatter; constructor(parser: IParser, formatter: IFormatter); onRootEntityCreated(_rootEntity: BaseEntity, _node: Node): void; createSchema(type: Type, node: Node): JSONSchema7; private appendChildrenDefinitions; } export declare function createGenerator(host: IPlatformIndependentHost, SchemaGeneratorImpl?: typeof SchemaGenerator): SchemaGenerator;