1/* 2 * Copyright (c) 2021-2023 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16/** 17 * Obtains battery information of a device. 18 * <p>Battery information includes the remaining battery power, 19 * voltage, temperature, model, and charger type. 20 * 21 * @namespace batteryInfo 22 * @syscap SystemCapability.PowerManager.BatteryManager.Core 23 * @since 6 24 */ 25declare namespace batteryInfo { 26 /** 27 * Battery state of charge (SoC) of the current device, in percent. 28 * 29 * @constant 30 * @syscap SystemCapability.PowerManager.BatteryManager.Core 31 * @since 6 32 */ 33 const batterySOC: number; 34 35 /** 36 * Battery charging status of the current device. 37 * 38 * @constant 39 * @syscap SystemCapability.PowerManager.BatteryManager.Core 40 * @since 6 41 */ 42 const chargingStatus: BatteryChargeState; 43 44 /** 45 * Battery health state of the current device. 46 * 47 * @constant 48 * @syscap SystemCapability.PowerManager.BatteryManager.Core 49 * @since 6 50 */ 51 const healthStatus: BatteryHealthState; 52 53 /** 54 * Charger type of the current device. 55 * 56 * @constant 57 * @syscap SystemCapability.PowerManager.BatteryManager.Core 58 * @since 6 59 */ 60 const pluggedType: BatteryPluggedType; 61 62 /** 63 * Battery voltage of the current device, in µV. 64 * 65 * @constant 66 * @syscap SystemCapability.PowerManager.BatteryManager.Core 67 * @since 6 68 */ 69 const voltage: number; 70 71 /** 72 * Battery technology of the current device. 73 * 74 * @constant 75 * @syscap SystemCapability.PowerManager.BatteryManager.Core 76 * @since 6 77 */ 78 const technology: string; 79 80 /** 81 * Battery temperature of the current device, in 0.1℃. 82 * 83 * @constant 84 * @syscap SystemCapability.PowerManager.BatteryManager.Core 85 * @since 6 86 */ 87 const batteryTemperature: number; 88 89 /** 90 * Battery present state of the current device. 91 * 92 * @constant 93 * @syscap SystemCapability.PowerManager.BatteryManager.Core 94 * @since 7 95 */ 96 const isBatteryPresent: boolean; 97 98 /** 99 * Battery capacity level of the current device. 100 * 101 * @constant 102 * @syscap SystemCapability.PowerManager.BatteryManager.Core 103 * @since 9 104 */ 105 const batteryCapacityLevel: BatteryCapacityLevel; 106 107 /** 108 * Estimated remaining time for the current device to be fully charged, in ms. 109 * 110 * @constant 111 * @syscap SystemCapability.PowerManager.BatteryManager.Core 112 * @systemapi 113 * @since 9 114 */ 115 const estimatedRemainingChargeTime: number; 116 117 /** 118 * Battery total energy of the current device, in mAh. 119 * 120 * @constant 121 * @syscap SystemCapability.PowerManager.BatteryManager.Core 122 * @systemapi 123 * @since 9 124 */ 125 const totalEnergy: number; 126 127 /** 128 * Battery immediate current of the current device, in mA. 129 * 130 * @constant 131 * @syscap SystemCapability.PowerManager.BatteryManager.Core 132 * @systemapi 133 * @since 9 134 */ 135 const nowCurrent: number; 136 137 /** 138 * Battery remaining energy of the current device, in mAh. 139 * 140 * @constant 141 * @syscap SystemCapability.PowerManager.BatteryManager.Core 142 * @systemapi 143 * @since 9 144 */ 145 const remainingEnergy: number; 146 147 /** 148 * Charger type of a device. 149 * 150 * @enum { number } 151 * @syscap SystemCapability.PowerManager.BatteryManager.Core 152 * @since 6 153 */ 154 export enum BatteryPluggedType { 155 /** 156 * Unknown type 157 * 158 * @syscap SystemCapability.PowerManager.BatteryManager.Core 159 * @since 6 160 */ 161 NONE, 162 /** 163 * AC charger 164 * 165 * @syscap SystemCapability.PowerManager.BatteryManager.Core 166 * @since 6 167 */ 168 AC, 169 /** 170 * USB charger 171 * 172 * @syscap SystemCapability.PowerManager.BatteryManager.Core 173 * @since 6 174 */ 175 USB, 176 /** 177 * Wireless charger 178 * 179 * @syscap SystemCapability.PowerManager.BatteryManager.Core 180 * @since 6 181 */ 182 WIRELESS 183 } 184 185 /** 186 * Battery charging status of a device. 187 * 188 * @enum { number } 189 * @syscap SystemCapability.PowerManager.BatteryManager.Core 190 * @since 6 191 */ 192 export enum BatteryChargeState { 193 /** 194 * Unknown state. 195 * 196 * @syscap SystemCapability.PowerManager.BatteryManager.Core 197 * @since 6 198 */ 199 NONE, 200 /** 201 * The battery is being charged. 202 * 203 * @syscap SystemCapability.PowerManager.BatteryManager.Core 204 * @since 6 205 */ 206 ENABLE, 207 /** 208 * The battery is not being charged. 209 * 210 * @syscap SystemCapability.PowerManager.BatteryManager.Core 211 * @since 6 212 */ 213 DISABLE, 214 /** 215 * The battery is fully charged. 216 * 217 * @syscap SystemCapability.PowerManager.BatteryManager.Core 218 * @since 6 219 */ 220 FULL 221 } 222 223 /** 224 * Battery health status of a device. 225 * 226 * @enum { number } 227 * @syscap SystemCapability.PowerManager.BatteryManager.Core 228 * @since 6 229 */ 230 export enum BatteryHealthState { 231 /** 232 * Unknown state. 233 * 234 * @syscap SystemCapability.PowerManager.BatteryManager.Core 235 * @since 6 236 */ 237 UNKNOWN, 238 /** 239 * The battery is in healthy state. 240 * 241 * @syscap SystemCapability.PowerManager.BatteryManager.Core 242 * @since 6 243 */ 244 GOOD, 245 /** 246 * The battery is overheated. 247 * 248 * @syscap SystemCapability.PowerManager.BatteryManager.Core 249 * @since 6 250 */ 251 OVERHEAT, 252 /** 253 * The battery voltage is over high. 254 * 255 * @syscap SystemCapability.PowerManager.BatteryManager.Core 256 * @since 6 257 */ 258 OVERVOLTAGE, 259 /** 260 * The battery temperature is low. 261 * 262 * @syscap SystemCapability.PowerManager.BatteryManager.Core 263 * @since 6 264 */ 265 COLD, 266 /** 267 * The battery is dead. 268 * 269 * @syscap SystemCapability.PowerManager.BatteryManager.Core 270 * @since 6 271 */ 272 DEAD 273 } 274 275 /** 276 * Battery capacity level of a device. 277 * 278 * @enum { number } 279 * @syscap SystemCapability.PowerManager.BatteryManager.Core 280 * @since 9 281 */ 282 export enum BatteryCapacityLevel { 283 /** 284 * The battery is in full capacity level. 285 * 286 * @syscap SystemCapability.PowerManager.BatteryManager.Core 287 * @since 9 288 */ 289 LEVEL_FULL, 290 /** 291 * The battery is in high capacity level. 292 * 293 * @syscap SystemCapability.PowerManager.BatteryManager.Core 294 * @since 9 295 */ 296 LEVEL_HIGH, 297 /** 298 * The battery is in normal capacity level. 299 * 300 * @syscap SystemCapability.PowerManager.BatteryManager.Core 301 * @since 9 302 */ 303 LEVEL_NORMAL, 304 /** 305 * The battery is in low capacity level. 306 * 307 * @syscap SystemCapability.PowerManager.BatteryManager.Core 308 * @since 9 309 */ 310 LEVEL_LOW, 311 /** 312 * The battery is in warning low capacity level. 313 * 314 * @syscap SystemCapability.PowerManager.BatteryManager.Core 315 * @since 9 316 */ 317 LEVEL_WARNING, 318 /** 319 * The battery is in critical low capacity level. 320 * 321 * @syscap SystemCapability.PowerManager.BatteryManager.Core 322 * @since 9 323 */ 324 LEVEL_CRITICAL, 325 /** 326 * The battery is in the lowest capacity level, system will shut down automatically in a few seconds. 327 * 328 * @syscap SystemCapability.PowerManager.BatteryManager.Core 329 * @since 9 330 */ 331 LEVEL_SHUTDOWN 332 } 333 334 /** 335 * Extra key of common event COMMON_EVENT_BATTERY_CHANGED. 336 * 337 * @enum { string } 338 * @syscap SystemCapability.PowerManager.BatteryManager.Core 339 * @since 9 340 */ 341 export enum CommonEventBatteryChangedKey { 342 /** 343 * Extra code of batterySOC. 344 * 345 * @syscap SystemCapability.PowerManager.BatteryManager.Core 346 * @since 9 347 */ 348 EXTRA_SOC = 'soc', 349 /** 350 * Extra code of chargingStatus. 351 * 352 * @syscap SystemCapability.PowerManager.BatteryManager.Core 353 * @since 9 354 */ 355 EXTRA_CHARGE_STATE = 'chargeState', 356 /** 357 * Extra code of healthStatus. 358 * 359 * @syscap SystemCapability.PowerManager.BatteryManager.Core 360 * @since 9 361 */ 362 EXTRA_HEALTH_STATE = 'healthState', 363 /** 364 * Extra code of pluggedType. 365 * 366 * @syscap SystemCapability.PowerManager.BatteryManager.Core 367 * @since 9 368 */ 369 EXTRA_PLUGGED_TYPE = 'pluggedType', 370 /** 371 * Extra code of voltage. 372 * 373 * @syscap SystemCapability.PowerManager.BatteryManager.Core 374 * @since 9 375 */ 376 EXTRA_VOLTAGE = 'voltage', 377 /** 378 * Extra code of technology. 379 * 380 * @syscap SystemCapability.PowerManager.BatteryManager.Core 381 * @since 9 382 */ 383 EXTRA_TECHNOLOGY = 'technology', 384 /** 385 * Extra code of batteryTemperature. 386 * 387 * @syscap SystemCapability.PowerManager.BatteryManager.Core 388 * @since 9 389 */ 390 EXTRA_TEMPERATURE = 'temperature', 391 /** 392 * Extra code of isBatteryPresent. 393 * 394 * @syscap SystemCapability.PowerManager.BatteryManager.Core 395 * @since 9 396 */ 397 EXTRA_PRESENT = 'present', 398 /** 399 * Extra code of batteryCapacityLevel. 400 * 401 * @syscap SystemCapability.PowerManager.BatteryManager.Core 402 * @since 9 403 */ 404 EXTRA_CAPACITY_LEVEL = 'capacityLevel' 405 } 406} 407export default batteryInfo; 408