import { JsonSchema } from "../JsonSchema"; import { ThingSchema } from "../ThingSchema"; export = AllJoynSchemaWriter; /** * Writes thing schema specifications in AllJoyn XML format. * Reference https://wiki.allseenalliance.org/irb/extended_introspection_xml */ declare class AllJoynSchemaWriter { /** * Writes thing schemas to an AllJoyn schema XML file asynchronously. * * @param {ThingSchema[]} deviceInterfaces One or more schemas to write * @param {string} filePath Path to the target XML file */ static writeThingSchemasToFileAsync(deviceInterfaces: ThingSchema[], filePath: string): Promise; /** * Writes thing schemas to an AllJoyn schema XML string. * * @param {ThingSchema[]} deviceInterfaces One or more schemas to write * @returns {string} AllJoyn schema XML contents */ static writeThingSchemas(deviceInterfaces: ThingSchema[]): string; /** * Converts a JSON schema to an AllJoyn type code, while extracting any included * named types. * * @param {JsonSchema} schema JSON schema to be converted * @param {{[name: string]: JsonSchema}} [namedTypes] Optional mapping from type names to * schemas for named types, that is filled in by named types in the converted schema. * @returns {string} */ static jsonSchemaToAllJoynType(schema: JsonSchema, namedTypes?: { [name: string]: JsonSchema; }): string; private static doctype; private static writeAllJoynInterface(deviceInterface); }