import { JsonSchema } from "../JsonSchema"; import { ThingSchema } from "../ThingSchema"; export = TypeScriptSchemaWriter; /** * Writes thing schema specifications in TypeScript type-definition format. * A translator written in TypeScript can use the generated interface definitions * to have the compiler enforce proper implementation of thing schemas. */ declare class TypeScriptSchemaWriter { /** * Writes thing schemas to a TypeScript type-definition file. * * @param {ThingSchema[]} thingSchemas One or more schemas to write * @param {string} filePath Path to the target type-definition (.d.ts) file */ static writeThingSchemasToFileAsync(thingSchemas: ThingSchema[], filePath: string): Promise; /** * Writes thing schemas as TypeScript type-definitions. * * @param {ThingSchema[]} thingSchemas One or more schemas to write * @returns {string} TypeScript type-definition code */ static writeThingSchemas(thingSchemas: ThingSchema[]): string; /** * Converts a JSON schema to a TypeScript type. */ static jsonSchemaToTypeScriptType(schema: JsonSchema): string; private static writeProperty(property); private static writeMethod(method); private static writeDescription(characteristic); }