export enum TransportTypeEnum {
  DEFAULT = 'DEFAULT',
  MQTT = 'MQTT',
  COAP = 'COAP',
  LWM2M = 'LWM2M',
  SNMP = 'SNMP',
  TCP = 'TCP',
}

export enum TransportPayloadTypeEnum {
  PROTOBUF = 'PROTOBUF',
  JSON = 'JSON',
}

export enum COAPDeviceTypeEnum {
  DEFAULT = 'DEFAULT',
  EFENTO = 'EFENTO',
}

export enum COAPDeviceTypeNameEnum {
  DEFAULT = '默认',
  EFENTO = 'Efento NB-IoT',
}

export enum PowerModeEnum {
  PSM = 'PSM',
  DRX = 'DRX',
  E_DRX = 'E_DRX',
}

export enum PowerModeNameEnum {
  PSM = 'Power Saving Mode (PSM)',
  DRX = 'Discontinuous Reception (DRX)',
  E_DRX = 'Extended Discontinuous Reception (eDRX)',
}

export enum TimeUnitEnum {
  MILLISECONDS = 'milliseconds',
  SECOND = 'second',
  MINUTE = 'minute',
  HOUR = 'hour',
}

export enum SecurityModeNameEnum {
  NO_SEC = 'No Security',
  PSK = 'Pre-Shared Key',
  RPK = 'Raw Public Key',
  X509 = 'X.509 Certificate',
}

export enum BindingNameEnum {
  U = 'U: Client is reachable via the UDP binding at any time.',
  M = 'M: Client is reachable via the MQTT binding at any time.',
  H = 'H: Client is reachable via the HTTP binding at any time.',
  T = 'T: Client is reachable via the TCP binding at any time.',
  S = 'S: Client is reachable via the SMS binding at any time.',
  N = 'N: Client MUST send the response to such a request over the Non-IP binding (is supported since LWM',
  UQ = 'UQ: UDP connection in queue mode (is not supported since LWM2M 1.1)',
  UQS = 'UQS: both UDP and SMS connections active; UDP in queue mode, SMS in standard mode (is not supported since LWM2M 1.1)',
  TQ = 'TQ: TCP connection in queue mode (is not supported since LWM2M 1.1)',
  TQS = 'TQS: both TCP and SMS connections active; TCP in queue mode, SMS in standard mode (is not supported since LWM2M 1.1)\t',
  SQ = 'SQ: SMS connection in queue mode (is not supported since LWM2M 1.1)',
}

export const FirmwareUpdateStrategyNameEnum = {
  1: 'Push firmware update as binary file using Object 5 and Resource 0 (Package)',
  2: 'Auto-generate unique CoAP URL to download the package and push firmware update as Object 5 and',
  3: 'Push firmware update as binary file using Object 19 and Resource 0 (Data)',
};

export const SoftwareUpdateStrategyNameEnum = {
  1: 'Push binary file using Object 9 and Resource 2 (Package)',
  2: 'Auto-generate unique CoAP URL to download the package and push software update using Object 9 and',
};

export enum SNMPRangeNameEnum {
  TELEMETRY_QUERYING = 'Telemetry',
  CLIENT_ATTRIBUTES_QUERYING = 'Client attributes',
  SHARED_ATTRIBUTES_SETTING = 'Shared attributes',
  TO_DEVICE_RPC_REQUEST = 'RPC request',
}

export enum SNMPDataTypeEnum {
  STRING = '字符串',
  LONG = '数字',
  BOOLEAN = '布尔值',
  DOUBLE = '双精度小数',
  JSON = 'JSON',
}
