import { JSONSchema4 } from "json-schema"; import { CodeMaker } from "codemaker"; export interface ResolvedTypes { type: string; assignable: boolean; optional: boolean; referencable: boolean; } export declare class TypeGenerator { private readonly type; private readonly emitted; readonly types: { [key: string]: { [key: string]: ResolvedTypes; }; }; constructor(type: string); addType(typeName: string, def: JSONSchema4): void; generate(code: CodeMaker): void; private resolveTypes; private emitStruct; private typeForProperty; private handleArrayType; private jsonEqual; }