/** * DO NOT EDIT * This file has been generated from file src\assets\virtual-tap.schema.json */ import { TapConfig } from "@iotize/tap/config/schema/v1"; import { VirtualTarget } from "./api/virtual-target"; export declare type VirtualServerConfig = VirtualServerConfigWithFileReference | VirtualServerConfigResolved; export declare type ProtocolItem = { type: "BLE"; options?: {}; } | { type: "MQTT"; options: MqttOptions; } | { type: "SOCKET"; options: SocketOptions; } | { type: "WEBSOCKET"; options: SocketOptions; }; /** * If provided, it will overwrite protocol configuration defined in tapConfig */ export declare type ProtocolList = ProtocolItem[]; /** * Virtual tap server configuration with file reference */ export interface VirtualServerConfigWithFileReference { $schema?: string; protocols: ProtocolList; /** * Configuration file path to use */ config?: string; device: VirtualTapConfig; /** * Path to virtual target implementation */ target?: string; } export interface MqttOptions { /** * Overwrite Tap config */ username?: string; /** * Overwrite Tap config */ password?: string; /** * Overwrite Tap config */ broker?: string; /** * Overwrite Tap config */ clientId?: string; /** * @deprecated not used anymore (use netKey in TapConfig instead) */ netkey?: string; /** * Overwrite Tap config with given request topic */ requestTopic?: string; /** * Overwrite Tap config with given answer topic */ responseTopic?: string; } export interface SocketOptions { host?: string; port: number; required?: any; } export interface VirtualTapConfig { serialNumber: string; firmwareVersion?: string; /** * Delay in millisecond for tap response */ sendDelay?: number; modelName?: string; } export interface VirtualServerConfigResolved { protocols: ProtocolList; config?: TapConfig; device: VirtualTapConfig; target?: VirtualTarget; }