/// import { IDictionary } from '@bettercorp/tools/lib/Interfaces'; import * as FS from 'fs'; export declare enum ITR069Events { DeviceAdded = "tr069-device-added", DeviceAdopted = "tr069-device-adopted", DeviceConnected = "tr069-device-connected", DeviceFileDownloaded = "tr069-device-file-downloaded", DeviceFileUploaded = "tr069-device-file-uploaded", DeviceInformed = "tr069-device-informed", DeviceActionAdded = "tr069-device-action-added", DeviceActionTriggered = "tr069-device-action-triggered", DeviceActionCompleted = "tr069-device-action-completed", FaultReceived = "tr069-fault-received" } export declare enum ITR069EAREvents { GetUploadFileUrl = "get-upload-file-url", GetFile = "get-file", AddFile = "add-file", AddFileStream = "add-file-stream", AddGroup = "add-group", AddUpdateGroup = "add-update-group", GetGroupConnection = "get-group-connection", GetDevice = "get-device", AdoptDevice = "adopt-device", RemoveDevice = "remove-device", AddAction = "add-action", GetActions = "get-actions", GetFaults = "get-faults", ClearFaults = "clear-faults" } export declare enum Tables { devices = "devices", actions = "actions", sessions = "sessions", groups = "groups", files = "files", faults = "faults", uploadedFiles = "uploadedFiles" } export interface DeviceInfo { serialNumber: string; manufacturer: string; productClass: string; oui: string; } export declare function GetDeviceTableCleaned(data: Device): any; export interface Device { id: string; device: DeviceInfo; deviceKey: string; groupId: string; lastConnectDate: number; lastConnectIP: string; synced: boolean; deleted: boolean; adopted: boolean; liveDebug: boolean; tr069InformData?: any; tr069LastInformTime: number; lastCredChange: number; cru: string; crp: string; } export declare function GetDeviceActionTableCleaned(data: DeviceAction): any; export interface IBCDeviceAction extends IBCDeviceActionR { responses: Array; } export interface IBCDeviceActionR { action: DeviceActionType; initAfter?: number; data?: T; extraMeta?: IDictionary; } export interface DeviceAction extends IBCDeviceAction { id: string; deviceId: string; groupId: string; createdTime: number; triggeredTime: number | null; completedTime: number | null; faultId: string | null; status: DeviceActionStatus; } export declare enum DeviceActionType { reboot = "reboot", downloadFile = "downloadFile", downloadExternalFile = "downloadExternalFile", uploadFile = "uploadFile", setParameterValue = "setParameterValue", getParameterValue = "getParameterValue", getRPCMethods = "getRPCMethods", specialAction = "specialAction" } export declare enum DeviceActionStatus { ready = "ready", triggered = "triggered", completed = "completed", faulted = "faulted" } export interface Session { id: string; sessionkey: string; deviceId: string | null; groupId: string | null; time: number; envKeyType: string; trKey: string; device: DeviceInfo | null; tr069InformData?: any; } export interface Group { id: string; sourceId: string; sourcePlugin: string; urlKey: string; username: string; password: string; autoAdopt: boolean; manualAdopt: boolean; } export interface TR069EncryptedConnectionInfo { tc: number; sp: string; sgid: string; } export interface TR069ConnectionInfo { url: string; username: string; password: string; } export interface TRFile { id: string; note: string; added: number; hash: string; path: string; filename: string; fileType: TRFileType; fileSize: number; groupId?: string; deviceId?: string; extraMeta?: IDictionary; } export declare enum TRFileType { firmwareUpgradeImage = "1 Firmware Upgrade Image", webContent = "2 Web Content", vendorConfigurationFile = "3 Vendor Configuration File", toneFile = "4 Tone File", ringerFile = "5 Ringer File", uploadVendorConfigurationFile = "1 Vendor Configuration File", uploadVendorLogFile = "2 Vendor Log File" } export interface TRFileResp extends TRFile { fileStream: FS.ReadStream; } export interface TRUploadedFileResp extends TRUploadedFile { fileStream: FS.ReadStream; } export interface TRUploadedFile { time: number; id: string; key: string; deviceId: string; groupId: string; sessionId: string; uploadType: TRFileType; store?: TRUploadedFileStored; extraMeta?: IDictionary; } export interface TRUploadedFileStored { hash: string; path: string; } export interface Fault { id: string; time: number; session: Session; device: Device; body: any; } export declare enum TR069EARGetFileType { deviceUploadedFile = "uFile", serverUploadedFile = "file" } export interface TR069EARGetFile { filename: String; key: String; deviceId: string; type: TR069EARGetFileType; fileStreamId: string; id: string; groupId: string; tenantId: string; } export interface TR069EARAddFile { filename: string; groupId?: string; deviceId?: string; note?: string; type: TRFileType; } export interface TR069EARGetUploadFileUrl { deviceId: string; groupId: string; type: TRFileType; } export interface TR069EARGetUploadFileUrlResponse { url: string; username: string; password: string; } export interface XMLItem { name: string; value: string | number; }