161847f8eSopenharmony_ci/*
261847f8eSopenharmony_ci * Copyright (c) 2021-2023 Huawei Device Co., Ltd.
361847f8eSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
461847f8eSopenharmony_ci * you may not use this file except in compliance with the License.
561847f8eSopenharmony_ci * You may obtain a copy of the License at
661847f8eSopenharmony_ci *
761847f8eSopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
861847f8eSopenharmony_ci *
961847f8eSopenharmony_ci * Unless required by applicable law or agreed to in writing, software
1061847f8eSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
1161847f8eSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1261847f8eSopenharmony_ci * See the License for the specific language governing permissions and
1361847f8eSopenharmony_ci * limitations under the License.
1461847f8eSopenharmony_ci */
1561847f8eSopenharmony_ci
1661847f8eSopenharmony_ci/**
1761847f8eSopenharmony_ci * @file
1861847f8eSopenharmony_ci * @kit BasicServicesKit
1961847f8eSopenharmony_ci */
2061847f8eSopenharmony_ci
2161847f8eSopenharmony_ci/**
2261847f8eSopenharmony_ci * Obtains battery information of a device.
2361847f8eSopenharmony_ci * <p>Battery information includes the remaining battery power,
2461847f8eSopenharmony_ci * voltage, temperature, model, and charger type.
2561847f8eSopenharmony_ci *
2661847f8eSopenharmony_ci * @namespace batteryInfo
2761847f8eSopenharmony_ci * @syscap SystemCapability.PowerManager.BatteryManager.Core
2861847f8eSopenharmony_ci * @since 6
2961847f8eSopenharmony_ci */
3061847f8eSopenharmony_ci/**
3161847f8eSopenharmony_ci * Obtains battery information of a device.
3261847f8eSopenharmony_ci * <p>Battery information includes the remaining battery power,
3361847f8eSopenharmony_ci * voltage, temperature, model, and charger type.
3461847f8eSopenharmony_ci *
3561847f8eSopenharmony_ci * @namespace batteryInfo
3661847f8eSopenharmony_ci * @syscap SystemCapability.PowerManager.BatteryManager.Core
3761847f8eSopenharmony_ci * @atomicservice
3861847f8eSopenharmony_ci * @since 12
3961847f8eSopenharmony_ci */
4061847f8eSopenharmony_cideclare namespace batteryInfo {
4161847f8eSopenharmony_ci  /**
4261847f8eSopenharmony_ci   * Sets the battery config by scene name.
4361847f8eSopenharmony_ci   *
4461847f8eSopenharmony_ci   * @param { string } sceneName - Indicates the battery charging scene name.
4561847f8eSopenharmony_ci   * sceneName parameter must be of type string.
4661847f8eSopenharmony_ci   * @param { string } sceneValue - Indicates the battery charging scene value.
4761847f8eSopenharmony_ci   * sceneValue parameter must be of type string.
4861847f8eSopenharmony_ci   * @returns { number } Return to set the charging configuration result.
4961847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
5061847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Incorrect parameter types;
5161847f8eSopenharmony_ci   * @throws { BusinessError } 4900101 - Failed to connect to the service.
5261847f8eSopenharmony_ci   * @syscap SystemCapability.PowerManager.BatteryManager.Core
5361847f8eSopenharmony_ci   * @systemapi
5461847f8eSopenharmony_ci   * @since 11
5561847f8eSopenharmony_ci   */
5661847f8eSopenharmony_ci  function setBatteryConfig(sceneName: string, sceneValue: string): number;
5761847f8eSopenharmony_ci
5861847f8eSopenharmony_ci  /**
5961847f8eSopenharmony_ci   * Queries the battery config by scene name.
6061847f8eSopenharmony_ci   *
6161847f8eSopenharmony_ci   * @param { string } sceneName - Indicates the battery charging scene name.
6261847f8eSopenharmony_ci   * sceneName parameter must be of type string.
6361847f8eSopenharmony_ci   * @returns { string } Returns the battery charging configuration, returns "" otherwise.
6461847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
6561847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Incorrect parameter types;
6661847f8eSopenharmony_ci   * @throws { BusinessError } 4900101 - Failed to connect to the service.
6761847f8eSopenharmony_ci   * @syscap SystemCapability.PowerManager.BatteryManager.Core
6861847f8eSopenharmony_ci   * @systemapi
6961847f8eSopenharmony_ci   * @since 11
7061847f8eSopenharmony_ci   */
7161847f8eSopenharmony_ci  function getBatteryConfig(sceneName: string): string;
7261847f8eSopenharmony_ci
7361847f8eSopenharmony_ci  /**
7461847f8eSopenharmony_ci   * Checks the battery config is enable by scene name.
7561847f8eSopenharmony_ci   *
7661847f8eSopenharmony_ci   * @param { string } sceneName - Indicates the battery charging scene name.
7761847f8eSopenharmony_ci   * sceneName parameter must be of type string.
7861847f8eSopenharmony_ci   * @returns { boolean } Returns true if the device supports the charging scene, returns false otherwise.
7961847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
8061847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Incorrect parameter types;
8161847f8eSopenharmony_ci   * @throws { BusinessError } 4900101 - Failed to connect to the service.
8261847f8eSopenharmony_ci   * @syscap SystemCapability.PowerManager.BatteryManager.Core
8361847f8eSopenharmony_ci   * @systemapi
8461847f8eSopenharmony_ci   * @since 11
8561847f8eSopenharmony_ci   */
8661847f8eSopenharmony_ci  function isBatteryConfigSupported(sceneName: string): boolean;
8761847f8eSopenharmony_ci
8861847f8eSopenharmony_ci  /**
8961847f8eSopenharmony_ci   * Battery state of charge (SoC) of the current device, in percent.
9061847f8eSopenharmony_ci   *
9161847f8eSopenharmony_ci   * @constant
9261847f8eSopenharmony_ci   * @syscap SystemCapability.PowerManager.BatteryManager.Core
9361847f8eSopenharmony_ci   * @since 6
9461847f8eSopenharmony_ci   */
9561847f8eSopenharmony_ci  /**
9661847f8eSopenharmony_ci   * Battery state of charge (SoC) of the current device, in percent.
9761847f8eSopenharmony_ci   *
9861847f8eSopenharmony_ci   * @constant
9961847f8eSopenharmony_ci   * @syscap SystemCapability.PowerManager.BatteryManager.Core
10061847f8eSopenharmony_ci   * @atomicservice
10161847f8eSopenharmony_ci   * @since 12
10261847f8eSopenharmony_ci   */
10361847f8eSopenharmony_ci  const batterySOC: number;
10461847f8eSopenharmony_ci
10561847f8eSopenharmony_ci  /**
10661847f8eSopenharmony_ci   * Battery charging status of the current device.
10761847f8eSopenharmony_ci   *
10861847f8eSopenharmony_ci   * @constant
10961847f8eSopenharmony_ci   * @syscap SystemCapability.PowerManager.BatteryManager.Core
11061847f8eSopenharmony_ci   * @since 6
11161847f8eSopenharmony_ci   */
11261847f8eSopenharmony_ci  /**
11361847f8eSopenharmony_ci   * Battery charging status of the current device.
11461847f8eSopenharmony_ci   *
11561847f8eSopenharmony_ci   * @constant
11661847f8eSopenharmony_ci   * @syscap SystemCapability.PowerManager.BatteryManager.Core
11761847f8eSopenharmony_ci   * @atomicservice
11861847f8eSopenharmony_ci   * @since 12
11961847f8eSopenharmony_ci   */
12061847f8eSopenharmony_ci  const chargingStatus: BatteryChargeState;
12161847f8eSopenharmony_ci
12261847f8eSopenharmony_ci  /**
12361847f8eSopenharmony_ci   * Battery health state of the current device.
12461847f8eSopenharmony_ci   *
12561847f8eSopenharmony_ci   * @constant
12661847f8eSopenharmony_ci   * @syscap SystemCapability.PowerManager.BatteryManager.Core
12761847f8eSopenharmony_ci   * @since 6
12861847f8eSopenharmony_ci   */
12961847f8eSopenharmony_ci  const healthStatus: BatteryHealthState;
13061847f8eSopenharmony_ci
13161847f8eSopenharmony_ci  /**
13261847f8eSopenharmony_ci   * Charger type of the current device.
13361847f8eSopenharmony_ci   *
13461847f8eSopenharmony_ci   * @constant
13561847f8eSopenharmony_ci   * @syscap SystemCapability.PowerManager.BatteryManager.Core
13661847f8eSopenharmony_ci   * @since 6
13761847f8eSopenharmony_ci   */
13861847f8eSopenharmony_ci  const pluggedType: BatteryPluggedType;
13961847f8eSopenharmony_ci
14061847f8eSopenharmony_ci  /**
14161847f8eSopenharmony_ci   * Battery voltage of the current device, in µV.
14261847f8eSopenharmony_ci   *
14361847f8eSopenharmony_ci   * @constant
14461847f8eSopenharmony_ci   * @syscap SystemCapability.PowerManager.BatteryManager.Core
14561847f8eSopenharmony_ci   * @since 6
14661847f8eSopenharmony_ci   */
14761847f8eSopenharmony_ci  const voltage: number;
14861847f8eSopenharmony_ci
14961847f8eSopenharmony_ci  /**
15061847f8eSopenharmony_ci   * Battery technology of the current device.
15161847f8eSopenharmony_ci   *
15261847f8eSopenharmony_ci   * @constant
15361847f8eSopenharmony_ci   * @syscap SystemCapability.PowerManager.BatteryManager.Core
15461847f8eSopenharmony_ci   * @since 6
15561847f8eSopenharmony_ci   */
15661847f8eSopenharmony_ci  const technology: string;
15761847f8eSopenharmony_ci
15861847f8eSopenharmony_ci  /**
15961847f8eSopenharmony_ci   * Battery temperature of the current device, in 0.1℃.
16061847f8eSopenharmony_ci   *
16161847f8eSopenharmony_ci   * @constant
16261847f8eSopenharmony_ci   * @syscap SystemCapability.PowerManager.BatteryManager.Core
16361847f8eSopenharmony_ci   * @since 6
16461847f8eSopenharmony_ci   */
16561847f8eSopenharmony_ci  const batteryTemperature: number;
16661847f8eSopenharmony_ci
16761847f8eSopenharmony_ci  /**
16861847f8eSopenharmony_ci   * Battery present state of the current device.
16961847f8eSopenharmony_ci   *
17061847f8eSopenharmony_ci   * @constant
17161847f8eSopenharmony_ci   * @syscap SystemCapability.PowerManager.BatteryManager.Core
17261847f8eSopenharmony_ci   * @since 7
17361847f8eSopenharmony_ci   */
17461847f8eSopenharmony_ci  const isBatteryPresent: boolean;
17561847f8eSopenharmony_ci
17661847f8eSopenharmony_ci  /**
17761847f8eSopenharmony_ci   * Battery capacity level of the current device.
17861847f8eSopenharmony_ci   *
17961847f8eSopenharmony_ci   * @constant
18061847f8eSopenharmony_ci   * @syscap SystemCapability.PowerManager.BatteryManager.Core
18161847f8eSopenharmony_ci   * @since 9
18261847f8eSopenharmony_ci   */
18361847f8eSopenharmony_ci  const batteryCapacityLevel: BatteryCapacityLevel;
18461847f8eSopenharmony_ci
18561847f8eSopenharmony_ci  /**
18661847f8eSopenharmony_ci   * Estimated remaining time for the current device to be fully charged, in ms.
18761847f8eSopenharmony_ci   *
18861847f8eSopenharmony_ci   * @constant
18961847f8eSopenharmony_ci   * @syscap SystemCapability.PowerManager.BatteryManager.Core
19061847f8eSopenharmony_ci   * @systemapi
19161847f8eSopenharmony_ci   * @since 9
19261847f8eSopenharmony_ci   */
19361847f8eSopenharmony_ci  const estimatedRemainingChargeTime: number;
19461847f8eSopenharmony_ci
19561847f8eSopenharmony_ci  /**
19661847f8eSopenharmony_ci   * Battery total energy of the current device, in mAh.
19761847f8eSopenharmony_ci   *
19861847f8eSopenharmony_ci   * @constant
19961847f8eSopenharmony_ci   * @syscap SystemCapability.PowerManager.BatteryManager.Core
20061847f8eSopenharmony_ci   * @systemapi
20161847f8eSopenharmony_ci   * @since 9
20261847f8eSopenharmony_ci   */
20361847f8eSopenharmony_ci  const totalEnergy: number;
20461847f8eSopenharmony_ci
20561847f8eSopenharmony_ci  /**
20661847f8eSopenharmony_ci   * Battery immediate current of the current device, in mA.
20761847f8eSopenharmony_ci   *
20861847f8eSopenharmony_ci   * @constant
20961847f8eSopenharmony_ci   * @syscap SystemCapability.PowerManager.BatteryManager.Core
21061847f8eSopenharmony_ci   * @since 12
21161847f8eSopenharmony_ci   */
21261847f8eSopenharmony_ci  const nowCurrent: number;
21361847f8eSopenharmony_ci
21461847f8eSopenharmony_ci  /**
21561847f8eSopenharmony_ci   * Battery remaining energy of the current device, in mAh.
21661847f8eSopenharmony_ci   *
21761847f8eSopenharmony_ci   * @constant
21861847f8eSopenharmony_ci   * @syscap SystemCapability.PowerManager.BatteryManager.Core
21961847f8eSopenharmony_ci   * @systemapi
22061847f8eSopenharmony_ci   * @since 9
22161847f8eSopenharmony_ci   */
22261847f8eSopenharmony_ci  const remainingEnergy: number;
22361847f8eSopenharmony_ci
22461847f8eSopenharmony_ci  /**
22561847f8eSopenharmony_ci   * Charger type of a device.
22661847f8eSopenharmony_ci   *
22761847f8eSopenharmony_ci   * @enum { number }
22861847f8eSopenharmony_ci   * @syscap SystemCapability.PowerManager.BatteryManager.Core
22961847f8eSopenharmony_ci   * @since 6
23061847f8eSopenharmony_ci   */
23161847f8eSopenharmony_ci  export enum BatteryPluggedType {
23261847f8eSopenharmony_ci    /**
23361847f8eSopenharmony_ci     * Unknown type
23461847f8eSopenharmony_ci     *
23561847f8eSopenharmony_ci     * @syscap SystemCapability.PowerManager.BatteryManager.Core
23661847f8eSopenharmony_ci     * @since 6
23761847f8eSopenharmony_ci     */
23861847f8eSopenharmony_ci    NONE,
23961847f8eSopenharmony_ci    /**
24061847f8eSopenharmony_ci     * AC charger
24161847f8eSopenharmony_ci     *
24261847f8eSopenharmony_ci     * @syscap SystemCapability.PowerManager.BatteryManager.Core
24361847f8eSopenharmony_ci     * @since 6
24461847f8eSopenharmony_ci     */
24561847f8eSopenharmony_ci    AC,
24661847f8eSopenharmony_ci    /**
24761847f8eSopenharmony_ci     * USB charger
24861847f8eSopenharmony_ci     *
24961847f8eSopenharmony_ci     * @syscap SystemCapability.PowerManager.BatteryManager.Core
25061847f8eSopenharmony_ci     * @since 6
25161847f8eSopenharmony_ci     */
25261847f8eSopenharmony_ci    USB,
25361847f8eSopenharmony_ci    /**
25461847f8eSopenharmony_ci     * Wireless charger
25561847f8eSopenharmony_ci     *
25661847f8eSopenharmony_ci     * @syscap SystemCapability.PowerManager.BatteryManager.Core
25761847f8eSopenharmony_ci     * @since 6
25861847f8eSopenharmony_ci     */
25961847f8eSopenharmony_ci    WIRELESS
26061847f8eSopenharmony_ci  }
26161847f8eSopenharmony_ci
26261847f8eSopenharmony_ci  /**
26361847f8eSopenharmony_ci   * Battery charging status of a device.
26461847f8eSopenharmony_ci   *
26561847f8eSopenharmony_ci   * @enum { number }
26661847f8eSopenharmony_ci   * @syscap SystemCapability.PowerManager.BatteryManager.Core
26761847f8eSopenharmony_ci   * @since 6
26861847f8eSopenharmony_ci   */
26961847f8eSopenharmony_ci  /**
27061847f8eSopenharmony_ci   * Battery charging status of a device.
27161847f8eSopenharmony_ci   *
27261847f8eSopenharmony_ci   * @enum { number }
27361847f8eSopenharmony_ci   * @syscap SystemCapability.PowerManager.BatteryManager.Core
27461847f8eSopenharmony_ci   * @atomicservice
27561847f8eSopenharmony_ci   * @since 12
27661847f8eSopenharmony_ci   */
27761847f8eSopenharmony_ci  export enum BatteryChargeState {
27861847f8eSopenharmony_ci    /**
27961847f8eSopenharmony_ci     * Unknown state.
28061847f8eSopenharmony_ci     *
28161847f8eSopenharmony_ci     * @syscap SystemCapability.PowerManager.BatteryManager.Core
28261847f8eSopenharmony_ci     * @since 6
28361847f8eSopenharmony_ci     */
28461847f8eSopenharmony_ci    /**
28561847f8eSopenharmony_ci     * Unknown state.
28661847f8eSopenharmony_ci     *
28761847f8eSopenharmony_ci     * @syscap SystemCapability.PowerManager.BatteryManager.Core
28861847f8eSopenharmony_ci     * @atomicservice
28961847f8eSopenharmony_ci     * @since 12
29061847f8eSopenharmony_ci     */
29161847f8eSopenharmony_ci    NONE,
29261847f8eSopenharmony_ci    /**
29361847f8eSopenharmony_ci     * The battery is being charged.
29461847f8eSopenharmony_ci     *
29561847f8eSopenharmony_ci     * @syscap SystemCapability.PowerManager.BatteryManager.Core
29661847f8eSopenharmony_ci     * @since 6
29761847f8eSopenharmony_ci     */
29861847f8eSopenharmony_ci    /**
29961847f8eSopenharmony_ci     * The battery is being charged.
30061847f8eSopenharmony_ci     *
30161847f8eSopenharmony_ci     * @syscap SystemCapability.PowerManager.BatteryManager.Core
30261847f8eSopenharmony_ci     * @atomicservice
30361847f8eSopenharmony_ci     * @since 12
30461847f8eSopenharmony_ci     */
30561847f8eSopenharmony_ci    ENABLE,
30661847f8eSopenharmony_ci    /**
30761847f8eSopenharmony_ci     * The battery is not being charged.
30861847f8eSopenharmony_ci     *
30961847f8eSopenharmony_ci     * @syscap SystemCapability.PowerManager.BatteryManager.Core
31061847f8eSopenharmony_ci     * @since 6
31161847f8eSopenharmony_ci     */
31261847f8eSopenharmony_ci    /**
31361847f8eSopenharmony_ci     * The battery is not being charged.
31461847f8eSopenharmony_ci     *
31561847f8eSopenharmony_ci     * @syscap SystemCapability.PowerManager.BatteryManager.Core
31661847f8eSopenharmony_ci     * @atomicservice
31761847f8eSopenharmony_ci     * @since 12
31861847f8eSopenharmony_ci     */
31961847f8eSopenharmony_ci    DISABLE,
32061847f8eSopenharmony_ci    /**
32161847f8eSopenharmony_ci     * The battery is fully charged.
32261847f8eSopenharmony_ci     *
32361847f8eSopenharmony_ci     * @syscap SystemCapability.PowerManager.BatteryManager.Core
32461847f8eSopenharmony_ci     * @since 6
32561847f8eSopenharmony_ci     */
32661847f8eSopenharmony_ci    /**
32761847f8eSopenharmony_ci     * The battery is fully charged.
32861847f8eSopenharmony_ci     *
32961847f8eSopenharmony_ci     * @syscap SystemCapability.PowerManager.BatteryManager.Core
33061847f8eSopenharmony_ci     * @atomicservice
33161847f8eSopenharmony_ci     * @since 12
33261847f8eSopenharmony_ci     */
33361847f8eSopenharmony_ci    FULL
33461847f8eSopenharmony_ci  }
33561847f8eSopenharmony_ci
33661847f8eSopenharmony_ci  /**
33761847f8eSopenharmony_ci   * Battery health status of a device.
33861847f8eSopenharmony_ci   *
33961847f8eSopenharmony_ci   * @enum { number }
34061847f8eSopenharmony_ci   * @syscap SystemCapability.PowerManager.BatteryManager.Core
34161847f8eSopenharmony_ci   * @since 6
34261847f8eSopenharmony_ci   */
34361847f8eSopenharmony_ci  export enum BatteryHealthState {
34461847f8eSopenharmony_ci    /**
34561847f8eSopenharmony_ci     * Unknown state.
34661847f8eSopenharmony_ci     *
34761847f8eSopenharmony_ci     * @syscap SystemCapability.PowerManager.BatteryManager.Core
34861847f8eSopenharmony_ci     * @since 6
34961847f8eSopenharmony_ci     */
35061847f8eSopenharmony_ci    UNKNOWN,
35161847f8eSopenharmony_ci    /**
35261847f8eSopenharmony_ci     * The battery is in healthy state.
35361847f8eSopenharmony_ci     *
35461847f8eSopenharmony_ci     * @syscap SystemCapability.PowerManager.BatteryManager.Core
35561847f8eSopenharmony_ci     * @since 6
35661847f8eSopenharmony_ci     */
35761847f8eSopenharmony_ci    GOOD,
35861847f8eSopenharmony_ci    /**
35961847f8eSopenharmony_ci     * The battery is overheated.
36061847f8eSopenharmony_ci     *
36161847f8eSopenharmony_ci     * @syscap SystemCapability.PowerManager.BatteryManager.Core
36261847f8eSopenharmony_ci     * @since 6
36361847f8eSopenharmony_ci     */
36461847f8eSopenharmony_ci    OVERHEAT,
36561847f8eSopenharmony_ci    /**
36661847f8eSopenharmony_ci     * The battery voltage is over high.
36761847f8eSopenharmony_ci     *
36861847f8eSopenharmony_ci     * @syscap SystemCapability.PowerManager.BatteryManager.Core
36961847f8eSopenharmony_ci     * @since 6
37061847f8eSopenharmony_ci     */
37161847f8eSopenharmony_ci    OVERVOLTAGE,
37261847f8eSopenharmony_ci    /**
37361847f8eSopenharmony_ci     * The battery temperature is low.
37461847f8eSopenharmony_ci     *
37561847f8eSopenharmony_ci     * @syscap SystemCapability.PowerManager.BatteryManager.Core
37661847f8eSopenharmony_ci     * @since 6
37761847f8eSopenharmony_ci     */
37861847f8eSopenharmony_ci    COLD,
37961847f8eSopenharmony_ci    /**
38061847f8eSopenharmony_ci     * The battery is dead.
38161847f8eSopenharmony_ci     *
38261847f8eSopenharmony_ci     * @syscap SystemCapability.PowerManager.BatteryManager.Core
38361847f8eSopenharmony_ci     * @since 6
38461847f8eSopenharmony_ci     */
38561847f8eSopenharmony_ci    DEAD
38661847f8eSopenharmony_ci  }
38761847f8eSopenharmony_ci
38861847f8eSopenharmony_ci  /**
38961847f8eSopenharmony_ci   * Battery capacity level of a device.
39061847f8eSopenharmony_ci   *
39161847f8eSopenharmony_ci   * @enum { number }
39261847f8eSopenharmony_ci   * @syscap SystemCapability.PowerManager.BatteryManager.Core
39361847f8eSopenharmony_ci   * @since 9
39461847f8eSopenharmony_ci   */
39561847f8eSopenharmony_ci  export enum BatteryCapacityLevel {
39661847f8eSopenharmony_ci    /**
39761847f8eSopenharmony_ci     * The battery is in full capacity level.
39861847f8eSopenharmony_ci     *
39961847f8eSopenharmony_ci     * @syscap SystemCapability.PowerManager.BatteryManager.Core
40061847f8eSopenharmony_ci     * @since 9
40161847f8eSopenharmony_ci     */
40261847f8eSopenharmony_ci    LEVEL_FULL,
40361847f8eSopenharmony_ci    /**
40461847f8eSopenharmony_ci     * The battery is in high capacity level.
40561847f8eSopenharmony_ci     *
40661847f8eSopenharmony_ci     * @syscap SystemCapability.PowerManager.BatteryManager.Core
40761847f8eSopenharmony_ci     * @since 9
40861847f8eSopenharmony_ci     */
40961847f8eSopenharmony_ci    LEVEL_HIGH,
41061847f8eSopenharmony_ci    /**
41161847f8eSopenharmony_ci     * The battery is in normal capacity level.
41261847f8eSopenharmony_ci     *
41361847f8eSopenharmony_ci     * @syscap SystemCapability.PowerManager.BatteryManager.Core
41461847f8eSopenharmony_ci     * @since 9
41561847f8eSopenharmony_ci     */
41661847f8eSopenharmony_ci    LEVEL_NORMAL,
41761847f8eSopenharmony_ci    /**
41861847f8eSopenharmony_ci     * The battery is in low capacity level.
41961847f8eSopenharmony_ci     *
42061847f8eSopenharmony_ci     * @syscap SystemCapability.PowerManager.BatteryManager.Core
42161847f8eSopenharmony_ci     * @since 9
42261847f8eSopenharmony_ci     */
42361847f8eSopenharmony_ci    LEVEL_LOW,
42461847f8eSopenharmony_ci    /**
42561847f8eSopenharmony_ci     * The battery is in warning low capacity level.
42661847f8eSopenharmony_ci     *
42761847f8eSopenharmony_ci     * @syscap SystemCapability.PowerManager.BatteryManager.Core
42861847f8eSopenharmony_ci     * @since 9
42961847f8eSopenharmony_ci     */
43061847f8eSopenharmony_ci    LEVEL_WARNING,
43161847f8eSopenharmony_ci    /**
43261847f8eSopenharmony_ci     * The battery is in critical low capacity level.
43361847f8eSopenharmony_ci     *
43461847f8eSopenharmony_ci     * @syscap SystemCapability.PowerManager.BatteryManager.Core
43561847f8eSopenharmony_ci     * @since 9
43661847f8eSopenharmony_ci     */
43761847f8eSopenharmony_ci    LEVEL_CRITICAL,
43861847f8eSopenharmony_ci    /**
43961847f8eSopenharmony_ci     * The battery is in the lowest capacity level, system will shut down automatically in a few seconds.
44061847f8eSopenharmony_ci     *
44161847f8eSopenharmony_ci     * @syscap SystemCapability.PowerManager.BatteryManager.Core
44261847f8eSopenharmony_ci     * @since 9
44361847f8eSopenharmony_ci     */
44461847f8eSopenharmony_ci    LEVEL_SHUTDOWN
44561847f8eSopenharmony_ci  }
44661847f8eSopenharmony_ci
44761847f8eSopenharmony_ci  /**
44861847f8eSopenharmony_ci   * Extra key of common event COMMON_EVENT_BATTERY_CHANGED.
44961847f8eSopenharmony_ci   *
45061847f8eSopenharmony_ci   * @enum { string }
45161847f8eSopenharmony_ci   * @syscap SystemCapability.PowerManager.BatteryManager.Core
45261847f8eSopenharmony_ci   * @since 9
45361847f8eSopenharmony_ci   */
45461847f8eSopenharmony_ci  export enum CommonEventBatteryChangedKey {
45561847f8eSopenharmony_ci    /**
45661847f8eSopenharmony_ci     * Extra code of batterySOC.
45761847f8eSopenharmony_ci     *
45861847f8eSopenharmony_ci     * @syscap SystemCapability.PowerManager.BatteryManager.Core
45961847f8eSopenharmony_ci     * @since 9
46061847f8eSopenharmony_ci     */
46161847f8eSopenharmony_ci    EXTRA_SOC = 'soc',
46261847f8eSopenharmony_ci    /**
46361847f8eSopenharmony_ci     * Extra code of chargingStatus.
46461847f8eSopenharmony_ci     *
46561847f8eSopenharmony_ci     * @syscap SystemCapability.PowerManager.BatteryManager.Core
46661847f8eSopenharmony_ci     * @since 9
46761847f8eSopenharmony_ci     */
46861847f8eSopenharmony_ci    EXTRA_CHARGE_STATE = 'chargeState',
46961847f8eSopenharmony_ci    /**
47061847f8eSopenharmony_ci     * Extra code of healthStatus.
47161847f8eSopenharmony_ci     *
47261847f8eSopenharmony_ci     * @syscap SystemCapability.PowerManager.BatteryManager.Core
47361847f8eSopenharmony_ci     * @since 9
47461847f8eSopenharmony_ci     */
47561847f8eSopenharmony_ci    EXTRA_HEALTH_STATE = 'healthState',
47661847f8eSopenharmony_ci    /**
47761847f8eSopenharmony_ci     * Extra code of pluggedType.
47861847f8eSopenharmony_ci     *
47961847f8eSopenharmony_ci     * @syscap SystemCapability.PowerManager.BatteryManager.Core
48061847f8eSopenharmony_ci     * @since 9
48161847f8eSopenharmony_ci     */
48261847f8eSopenharmony_ci    EXTRA_PLUGGED_TYPE = 'pluggedType',
48361847f8eSopenharmony_ci    /**
48461847f8eSopenharmony_ci     * Extra code of voltage.
48561847f8eSopenharmony_ci     *
48661847f8eSopenharmony_ci     * @syscap SystemCapability.PowerManager.BatteryManager.Core
48761847f8eSopenharmony_ci     * @since 9
48861847f8eSopenharmony_ci     */
48961847f8eSopenharmony_ci    EXTRA_VOLTAGE = 'voltage',
49061847f8eSopenharmony_ci    /**
49161847f8eSopenharmony_ci     * Extra code of technology.
49261847f8eSopenharmony_ci     *
49361847f8eSopenharmony_ci     * @syscap SystemCapability.PowerManager.BatteryManager.Core
49461847f8eSopenharmony_ci     * @since 9
49561847f8eSopenharmony_ci     */
49661847f8eSopenharmony_ci    EXTRA_TECHNOLOGY = 'technology',
49761847f8eSopenharmony_ci    /**
49861847f8eSopenharmony_ci     * Extra code of batteryTemperature.
49961847f8eSopenharmony_ci     *
50061847f8eSopenharmony_ci     * @syscap SystemCapability.PowerManager.BatteryManager.Core
50161847f8eSopenharmony_ci     * @since 9
50261847f8eSopenharmony_ci     */
50361847f8eSopenharmony_ci    EXTRA_TEMPERATURE = 'temperature',
50461847f8eSopenharmony_ci    /**
50561847f8eSopenharmony_ci     * Extra code of isBatteryPresent.
50661847f8eSopenharmony_ci     *
50761847f8eSopenharmony_ci     * @syscap SystemCapability.PowerManager.BatteryManager.Core
50861847f8eSopenharmony_ci     * @since 9
50961847f8eSopenharmony_ci     */
51061847f8eSopenharmony_ci    EXTRA_PRESENT = 'present',
51161847f8eSopenharmony_ci    /**
51261847f8eSopenharmony_ci     * Extra code of batteryCapacityLevel.
51361847f8eSopenharmony_ci     *
51461847f8eSopenharmony_ci     * @syscap SystemCapability.PowerManager.BatteryManager.Core
51561847f8eSopenharmony_ci     * @since 9
51661847f8eSopenharmony_ci     */
51761847f8eSopenharmony_ci    EXTRA_CAPACITY_LEVEL = 'capacityLevel'
51861847f8eSopenharmony_ci  }
51961847f8eSopenharmony_ci}
52061847f8eSopenharmony_ciexport default batteryInfo;
521