import { Device } from "../device/device"; import { BaseConstructor, BaseFactory, BaseRegistry } from "./baseRegistry"; export interface DeviceConstructor extends BaseConstructor { } export interface DeviceFactory extends BaseFactory { } export declare class DeviceRegistry extends BaseRegistry { private static instance; private constructor(); static getInstance(): DeviceRegistry; static register(tagName: string, deviceClass: DeviceConstructor, factory: DeviceFactory): void; static getDeviceClass(tagName: string): DeviceConstructor | undefined; static createDeviceFromXml(tagName: string, xmlObject: any): Device | undefined; } export declare function registerDevice(tagName: string, factory: DeviceFactory): (target: DeviceConstructor) => void;