15b8fca66Sopenharmony_ci/*
25b8fca66Sopenharmony_ci * Copyright (C) 2021-2023 Huawei Device Co., Ltd.
35b8fca66Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
45b8fca66Sopenharmony_ci * you may not use this file except in compliance with the License.
55b8fca66Sopenharmony_ci * You may obtain a copy of the License at
65b8fca66Sopenharmony_ci *
75b8fca66Sopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
85b8fca66Sopenharmony_ci *
95b8fca66Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
105b8fca66Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
115b8fca66Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
125b8fca66Sopenharmony_ci * See the License for the specific language governing permissions and
135b8fca66Sopenharmony_ci * limitations under the License.
145b8fca66Sopenharmony_ci */
155b8fca66Sopenharmony_ci
165b8fca66Sopenharmony_ci/**
175b8fca66Sopenharmony_ci * @file
185b8fca66Sopenharmony_ci * @kit TelephonyKit
195b8fca66Sopenharmony_ci */
205b8fca66Sopenharmony_ci
215b8fca66Sopenharmony_ciimport type { Callback } from './@ohos.base';
225b8fca66Sopenharmony_ciimport type radio from './@ohos.telephony.radio';
235b8fca66Sopenharmony_ciimport type data from './@ohos.telephony.data';
245b8fca66Sopenharmony_ciimport type call from './@ohos.telephony.call';
255b8fca66Sopenharmony_ciimport type sim from './@ohos.telephony.sim';
265b8fca66Sopenharmony_ci
275b8fca66Sopenharmony_ci/**
285b8fca66Sopenharmony_ci * Monitors telephony state updates of a device, including updates of the network state,
295b8fca66Sopenharmony_ci * signal strength, call state, the data link connection state and others.
305b8fca66Sopenharmony_ci *
315b8fca66Sopenharmony_ci * @namespace observer
325b8fca66Sopenharmony_ci * @syscap SystemCapability.Telephony.StateRegistry
335b8fca66Sopenharmony_ci * @since 6
345b8fca66Sopenharmony_ci */
355b8fca66Sopenharmony_cideclare namespace observer {
365b8fca66Sopenharmony_ci  /**
375b8fca66Sopenharmony_ci   * Describes the network registration state.
385b8fca66Sopenharmony_ci   *
395b8fca66Sopenharmony_ci   * @typedef NetworkState
405b8fca66Sopenharmony_ci   * @syscap SystemCapability.Telephony.StateRegistry
415b8fca66Sopenharmony_ci   * @since 6
425b8fca66Sopenharmony_ci   */
435b8fca66Sopenharmony_ci  type NetworkState = radio.NetworkState;
445b8fca66Sopenharmony_ci
455b8fca66Sopenharmony_ci  /**
465b8fca66Sopenharmony_ci   * Describes the signal strength information.
475b8fca66Sopenharmony_ci   *
485b8fca66Sopenharmony_ci   * @typedef SignalInformation
495b8fca66Sopenharmony_ci   * @syscap SystemCapability.Telephony.StateRegistry
505b8fca66Sopenharmony_ci   * @since 6
515b8fca66Sopenharmony_ci   */
525b8fca66Sopenharmony_ci  type SignalInformation = radio.SignalInformation;
535b8fca66Sopenharmony_ci
545b8fca66Sopenharmony_ci  /**
555b8fca66Sopenharmony_ci   * Describes current cell information.
565b8fca66Sopenharmony_ci   *
575b8fca66Sopenharmony_ci   * @typedef CellInformation
585b8fca66Sopenharmony_ci   * @syscap SystemCapability.Telephony.StateRegistry
595b8fca66Sopenharmony_ci   * @systemapi Hide this for inner system use.
605b8fca66Sopenharmony_ci   * @since 6
615b8fca66Sopenharmony_ci   */
625b8fca66Sopenharmony_ci  type CellInformation = radio.CellInformation;
635b8fca66Sopenharmony_ci
645b8fca66Sopenharmony_ci  /**
655b8fca66Sopenharmony_ci   * Describes the cellular data link connection state.
665b8fca66Sopenharmony_ci   *
675b8fca66Sopenharmony_ci   * @typedef DataConnectState
685b8fca66Sopenharmony_ci   * @syscap SystemCapability.Telephony.StateRegistry
695b8fca66Sopenharmony_ci   * @since 6
705b8fca66Sopenharmony_ci   */
715b8fca66Sopenharmony_ci  type DataConnectState = data.DataConnectState;
725b8fca66Sopenharmony_ci
735b8fca66Sopenharmony_ci  /**
745b8fca66Sopenharmony_ci   * Describes the radio access technology.
755b8fca66Sopenharmony_ci   *
765b8fca66Sopenharmony_ci   * @typedef RatType
775b8fca66Sopenharmony_ci   * @syscap SystemCapability.Telephony.StateRegistry
785b8fca66Sopenharmony_ci   * @since 6
795b8fca66Sopenharmony_ci   */
805b8fca66Sopenharmony_ci  type RatType = radio.RadioTechnology;
815b8fca66Sopenharmony_ci
825b8fca66Sopenharmony_ci  /**
835b8fca66Sopenharmony_ci   * Describes the cellular data flow type.
845b8fca66Sopenharmony_ci   *
855b8fca66Sopenharmony_ci   * @typedef DataFlowType
865b8fca66Sopenharmony_ci   * @syscap SystemCapability.Telephony.StateRegistry
875b8fca66Sopenharmony_ci   * @since 6
885b8fca66Sopenharmony_ci   */
895b8fca66Sopenharmony_ci  type DataFlowType = data.DataFlowType;
905b8fca66Sopenharmony_ci
915b8fca66Sopenharmony_ci  /**
925b8fca66Sopenharmony_ci   * Indicates the states of call.
935b8fca66Sopenharmony_ci   *
945b8fca66Sopenharmony_ci   * @typedef CallState
955b8fca66Sopenharmony_ci   * @syscap SystemCapability.Telephony.StateRegistry
965b8fca66Sopenharmony_ci   * @since 6
975b8fca66Sopenharmony_ci   */
985b8fca66Sopenharmony_ci  type CallState = call.CallState;
995b8fca66Sopenharmony_ci
1005b8fca66Sopenharmony_ci  /**
1015b8fca66Sopenharmony_ci   * Indicates the SIM card types.
1025b8fca66Sopenharmony_ci   *
1035b8fca66Sopenharmony_ci   * @typedef CardType
1045b8fca66Sopenharmony_ci   * @syscap SystemCapability.Telephony.StateRegistry
1055b8fca66Sopenharmony_ci   * @since 6
1065b8fca66Sopenharmony_ci   */
1075b8fca66Sopenharmony_ci  type CardType = sim.CardType;
1085b8fca66Sopenharmony_ci
1095b8fca66Sopenharmony_ci  /**
1105b8fca66Sopenharmony_ci   * Indicates the SIM card states.
1115b8fca66Sopenharmony_ci   *
1125b8fca66Sopenharmony_ci   * @typedef SimState
1135b8fca66Sopenharmony_ci   * @syscap SystemCapability.Telephony.StateRegistry
1145b8fca66Sopenharmony_ci   * @since 6
1155b8fca66Sopenharmony_ci   */
1165b8fca66Sopenharmony_ci  type SimState = sim.SimState;
1175b8fca66Sopenharmony_ci
1185b8fca66Sopenharmony_ci  /**
1195b8fca66Sopenharmony_ci   * Callback when the network state corresponding to the default sim card is updated.
1205b8fca66Sopenharmony_ci   *
1215b8fca66Sopenharmony_ci   * @permission ohos.permission.GET_NETWORK_INFO
1225b8fca66Sopenharmony_ci   * @param { 'networkStateChange' } type - Event type. Indicates the networkStateChange event to be subscribed to.
1235b8fca66Sopenharmony_ci   * @param { Callback<NetworkState> } callback - Indicates the callback for
1245b8fca66Sopenharmony_ci   * getting an instance of the {@code NetworkState} class.
1255b8fca66Sopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
1265b8fca66Sopenharmony_ci   * @throws { BusinessError } 401 - Parameter error.Possible causes: 1. Mandatory parameters are left unspecified.
1275b8fca66Sopenharmony_ci   * 2. Incorrect parameter types.
1285b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
1295b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1305b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
1315b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
1325b8fca66Sopenharmony_ci   * @syscap SystemCapability.Telephony.StateRegistry
1335b8fca66Sopenharmony_ci   * @since 6
1345b8fca66Sopenharmony_ci   */
1355b8fca66Sopenharmony_ci  function on(type: 'networkStateChange', callback: Callback<NetworkState>): void;
1365b8fca66Sopenharmony_ci
1375b8fca66Sopenharmony_ci  /**
1385b8fca66Sopenharmony_ci   * Callback when the network state corresponding to the monitored {@code slotId} is updated.
1395b8fca66Sopenharmony_ci   *
1405b8fca66Sopenharmony_ci   * @permission ohos.permission.GET_NETWORK_INFO
1415b8fca66Sopenharmony_ci   * @param { 'networkStateChange' } type - Event type. Indicates the networkStateChange event to be subscribed to.
1425b8fca66Sopenharmony_ci   * @param { object } options - Indicates the ID of the target card slot.
1435b8fca66Sopenharmony_ci   * The value {@code 0} indicates card 1, and the value {@code 1} indicates card 2.
1445b8fca66Sopenharmony_ci   * @param { Callback<NetworkState> } callback - Indicates the callback for getting
1455b8fca66Sopenharmony_ci   * an instance of the {@code NetworkState} class.
1465b8fca66Sopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
1475b8fca66Sopenharmony_ci   * @throws { BusinessError } 401 - Parameter error.
1485b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
1495b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1505b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
1515b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
1525b8fca66Sopenharmony_ci   * @syscap SystemCapability.Telephony.StateRegistry
1535b8fca66Sopenharmony_ci   * @since 6
1545b8fca66Sopenharmony_ci   */
1555b8fca66Sopenharmony_ci  /**
1565b8fca66Sopenharmony_ci   * Callback when the network state corresponding to the monitored {@code slotId} is updated.
1575b8fca66Sopenharmony_ci   *
1585b8fca66Sopenharmony_ci   * @permission ohos.permission.GET_NETWORK_INFO
1595b8fca66Sopenharmony_ci   * @param { 'networkStateChange' } type - Event type. Indicates the networkStateChange event to be subscribed to.
1605b8fca66Sopenharmony_ci   * @param { ObserverOptions } options - Indicates the options for observer.
1615b8fca66Sopenharmony_ci   * @param { Callback<NetworkState> } callback - Indicates the callback for getting
1625b8fca66Sopenharmony_ci   * an instance of the {@code NetworkState} class.
1635b8fca66Sopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
1645b8fca66Sopenharmony_ci   * @throws { BusinessError } 401 - Parameter error.Possible causes: 1. Mandatory parameters are left unspecified.
1655b8fca66Sopenharmony_ci   * 2. Incorrect parameter types.
1665b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
1675b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1685b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
1695b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
1705b8fca66Sopenharmony_ci   * @syscap SystemCapability.Telephony.StateRegistry
1715b8fca66Sopenharmony_ci   * @since 11
1725b8fca66Sopenharmony_ci   */
1735b8fca66Sopenharmony_ci  function on(type: 'networkStateChange', options: ObserverOptions, callback: Callback<NetworkState>): void;
1745b8fca66Sopenharmony_ci
1755b8fca66Sopenharmony_ci  /**
1765b8fca66Sopenharmony_ci   * Cancel callback when the network state is updated.
1775b8fca66Sopenharmony_ci   *
1785b8fca66Sopenharmony_ci   * @param { 'networkStateChange' } type - Event type. Indicates the networkStateChange event to unsubscribe from.
1795b8fca66Sopenharmony_ci   * @param { Callback<NetworkState> } callback - Indicates the callback for getting
1805b8fca66Sopenharmony_ci   * an instance of the {@code NetworkState} class.
1815b8fca66Sopenharmony_ci   * @throws { BusinessError } 401 - Parameter error.Possible causes: 1. Mandatory parameters are left unspecified.
1825b8fca66Sopenharmony_ci   * 2. Incorrect parameter types.
1835b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
1845b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1855b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
1865b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
1875b8fca66Sopenharmony_ci   * @syscap SystemCapability.Telephony.StateRegistry
1885b8fca66Sopenharmony_ci   * @since 6
1895b8fca66Sopenharmony_ci   */
1905b8fca66Sopenharmony_ci  function off(type: 'networkStateChange', callback?: Callback<NetworkState>): void;
1915b8fca66Sopenharmony_ci
1925b8fca66Sopenharmony_ci  /**
1935b8fca66Sopenharmony_ci   * Callback when the signal strength corresponding to the default sim card is updated.
1945b8fca66Sopenharmony_ci   *
1955b8fca66Sopenharmony_ci   * @param { 'signalInfoChange' } type - Event type. Indicates the signalInfoChange event to be subscribed to.
1965b8fca66Sopenharmony_ci   * @param { Callback<Array<SignalInformation>> } callback - Indicates the callback for getting
1975b8fca66Sopenharmony_ci   * an array of instances of the classes derived from {@link SignalInformation}.
1985b8fca66Sopenharmony_ci   * @throws { BusinessError } 401 - Parameter error.Possible causes: 1. Mandatory parameters are left unspecified.
1995b8fca66Sopenharmony_ci   * 2. Incorrect parameter types.
2005b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
2015b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
2025b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
2035b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
2045b8fca66Sopenharmony_ci   * @syscap SystemCapability.Telephony.StateRegistry
2055b8fca66Sopenharmony_ci   * @since 6
2065b8fca66Sopenharmony_ci   */
2075b8fca66Sopenharmony_ci  function on(type: 'signalInfoChange', callback: Callback<Array<SignalInformation>>): void;
2085b8fca66Sopenharmony_ci
2095b8fca66Sopenharmony_ci  /**
2105b8fca66Sopenharmony_ci   * Callback when the signal strength corresponding to a monitored {@code slotId} is updated.
2115b8fca66Sopenharmony_ci   *
2125b8fca66Sopenharmony_ci   * @param { 'signalInfoChange' } type - Event type. Indicates the signalInfoChange event to be subscribed to.
2135b8fca66Sopenharmony_ci   * @param { object } options - Indicates the ID of the target card slot.
2145b8fca66Sopenharmony_ci   * The value {@code 0} indicates card 1, and the value {@code 1} indicates card 2.
2155b8fca66Sopenharmony_ci   * @param { Callback<Array<SignalInformation>> } callback - Indicates the callback for getting
2165b8fca66Sopenharmony_ci   * an array of instances of the classes derived from {@link SignalInformation}.
2175b8fca66Sopenharmony_ci   * @throws { BusinessError } 401 - Parameter error.
2185b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
2195b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
2205b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
2215b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
2225b8fca66Sopenharmony_ci   * @syscap SystemCapability.Telephony.StateRegistry
2235b8fca66Sopenharmony_ci   * @since 6
2245b8fca66Sopenharmony_ci   */
2255b8fca66Sopenharmony_ci  /**
2265b8fca66Sopenharmony_ci   * Callback when the signal strength corresponding to a monitored {@code slotId} is updated.
2275b8fca66Sopenharmony_ci   *
2285b8fca66Sopenharmony_ci   * @param { 'signalInfoChange' } type - Event type. Indicates the signalInfoChange event to be subscribed to.
2295b8fca66Sopenharmony_ci   * @param { ObserverOptions } options - Indicates the options for observer.
2305b8fca66Sopenharmony_ci   * @param { Callback<Array<SignalInformation>> } callback - Indicates the callback for getting
2315b8fca66Sopenharmony_ci   * an array of instances of the classes derived from {@link SignalInformation}.
2325b8fca66Sopenharmony_ci   * @throws { BusinessError } 401 - Parameter error.Possible causes: 1. Mandatory parameters are left unspecified.
2335b8fca66Sopenharmony_ci   * 2. Incorrect parameter types.
2345b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
2355b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
2365b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
2375b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
2385b8fca66Sopenharmony_ci   * @syscap SystemCapability.Telephony.StateRegistry
2395b8fca66Sopenharmony_ci   * @since 11
2405b8fca66Sopenharmony_ci   */
2415b8fca66Sopenharmony_ci  function on(type: 'signalInfoChange', options: ObserverOptions, callback: Callback<Array<SignalInformation>>): void;
2425b8fca66Sopenharmony_ci
2435b8fca66Sopenharmony_ci  /**
2445b8fca66Sopenharmony_ci   * Cancel callback when the signal strength is updated.
2455b8fca66Sopenharmony_ci   *
2465b8fca66Sopenharmony_ci   * @param { 'signalInfoChange' } type - Event type. Indicates the signalInfoChange event to unsubscribe from.
2475b8fca66Sopenharmony_ci   * @param { Callback<Array<SignalInformation>> } callback - Indicates the callback to unsubscribe from
2485b8fca66Sopenharmony_ci   * the signalInfoChange event.
2495b8fca66Sopenharmony_ci   * @throws { BusinessError } 401 - Parameter error.Possible causes: 1. Mandatory parameters are left unspecified.
2505b8fca66Sopenharmony_ci   * 2. Incorrect parameter types.
2515b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
2525b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
2535b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
2545b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
2555b8fca66Sopenharmony_ci   * @syscap SystemCapability.Telephony.StateRegistry
2565b8fca66Sopenharmony_ci   * @since 6
2575b8fca66Sopenharmony_ci   */
2585b8fca66Sopenharmony_ci  function off(type: 'signalInfoChange', callback?: Callback<Array<SignalInformation>>): void;
2595b8fca66Sopenharmony_ci
2605b8fca66Sopenharmony_ci  /**
2615b8fca66Sopenharmony_ci   * Callback when the cell information corresponding to the default sim card is updated.
2625b8fca66Sopenharmony_ci   *
2635b8fca66Sopenharmony_ci   * @permission ohos.permission.LOCATION and ohos.permission.APPROXIMATELY_LOCATION
2645b8fca66Sopenharmony_ci   * @param { 'cellInfoChange' } type - Event type. Indicates the cellInfoChange event to be subscribed to.
2655b8fca66Sopenharmony_ci   * @param { Callback<Array<CellInformation>> } callback - Indicates the callback for getting
2665b8fca66Sopenharmony_ci   * an array of instances of the classes derived from {@link CellInformation}.
2675b8fca66Sopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
2685b8fca66Sopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
2695b8fca66Sopenharmony_ci   * @throws { BusinessError } 401 - Parameter error.Possible causes: 1. Mandatory parameters are left unspecified.
2705b8fca66Sopenharmony_ci   * 2. Incorrect parameter types.
2715b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
2725b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
2735b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
2745b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
2755b8fca66Sopenharmony_ci   * @syscap SystemCapability.Telephony.StateRegistry
2765b8fca66Sopenharmony_ci   * @systemapi Hide this for inner system use.
2775b8fca66Sopenharmony_ci   * @since 8
2785b8fca66Sopenharmony_ci   */
2795b8fca66Sopenharmony_ci  function on(type: 'cellInfoChange', callback: Callback<Array<CellInformation>>): void;
2805b8fca66Sopenharmony_ci
2815b8fca66Sopenharmony_ci  /**
2825b8fca66Sopenharmony_ci   * Callback when the cell information corresponding to a monitored {@code slotId} is updated.
2835b8fca66Sopenharmony_ci   *
2845b8fca66Sopenharmony_ci   * @permission ohos.permission.LOCATION and ohos.permission.APPROXIMATELY_LOCATION
2855b8fca66Sopenharmony_ci   * @param { 'cellInfoChange' } type - Event type. Indicates the cellInfoChange event to be subscribed to.
2865b8fca66Sopenharmony_ci   * @param { object } options - Indicates the ID of the target card slot.
2875b8fca66Sopenharmony_ci   * The value {@code 0} indicates card 1, and the value {@code 1} indicates card 2.
2885b8fca66Sopenharmony_ci   * @param { Callback<Array<CellInformation>> } callback - Indicates the callback for getting
2895b8fca66Sopenharmony_ci   * an array of instances of the classes derived from {@link CellInformation}.
2905b8fca66Sopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
2915b8fca66Sopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
2925b8fca66Sopenharmony_ci   * @throws { BusinessError } 401 - Parameter error.
2935b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
2945b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
2955b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
2965b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
2975b8fca66Sopenharmony_ci   * @syscap SystemCapability.Telephony.StateRegistry
2985b8fca66Sopenharmony_ci   * @systemapi Hide this for inner system use.
2995b8fca66Sopenharmony_ci   * @since 8
3005b8fca66Sopenharmony_ci   */
3015b8fca66Sopenharmony_ci  /**
3025b8fca66Sopenharmony_ci   * Callback when the cell information corresponding to a monitored {@code slotId} is updated.
3035b8fca66Sopenharmony_ci   *
3045b8fca66Sopenharmony_ci   * @permission ohos.permission.LOCATION and ohos.permission.APPROXIMATELY_LOCATION
3055b8fca66Sopenharmony_ci   * @param { 'cellInfoChange' } type - Event type. Indicates the cellInfoChange event to be subscribed to.
3065b8fca66Sopenharmony_ci   * @param { ObserverOptions } options - Indicates the options for observer.
3075b8fca66Sopenharmony_ci   * @param { Callback<Array<CellInformation>> } callback - Indicates the callback for getting
3085b8fca66Sopenharmony_ci   * an array of instances of the classes derived from {@link CellInformation}.
3095b8fca66Sopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
3105b8fca66Sopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
3115b8fca66Sopenharmony_ci   * @throws { BusinessError } 401 - Parameter error.Possible causes: 1. Mandatory parameters are left unspecified.
3125b8fca66Sopenharmony_ci   * 2. Incorrect parameter types.
3135b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
3145b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
3155b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
3165b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
3175b8fca66Sopenharmony_ci   * @syscap SystemCapability.Telephony.StateRegistry
3185b8fca66Sopenharmony_ci   * @systemapi Hide this for inner system use.
3195b8fca66Sopenharmony_ci   * @since 11
3205b8fca66Sopenharmony_ci   */
3215b8fca66Sopenharmony_ci  function on(type: 'cellInfoChange', options: ObserverOptions, callback: Callback<Array<CellInformation>>): void;
3225b8fca66Sopenharmony_ci
3235b8fca66Sopenharmony_ci  /**
3245b8fca66Sopenharmony_ci   * Cancel callback when the cell information is updated.
3255b8fca66Sopenharmony_ci   *
3265b8fca66Sopenharmony_ci   * @param { 'cellInfoChange' } type - Event type. Indicates the cellInfoChange event to unsubscribe from.
3275b8fca66Sopenharmony_ci   * @param { Callback<Array<CellInformation>> } callback - Indicates the callback to unsubscribe from
3285b8fca66Sopenharmony_ci   * the cellInfoChange event.
3295b8fca66Sopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
3305b8fca66Sopenharmony_ci   * @throws { BusinessError } 401 - Parameter error.Possible causes: 1. Mandatory parameters are left unspecified.
3315b8fca66Sopenharmony_ci   * 2. Incorrect parameter types.
3325b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
3335b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
3345b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
3355b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
3365b8fca66Sopenharmony_ci   * @syscap SystemCapability.Telephony.StateRegistry
3375b8fca66Sopenharmony_ci   * @systemapi Hide this for inner system use.
3385b8fca66Sopenharmony_ci   * @since 8
3395b8fca66Sopenharmony_ci   */
3405b8fca66Sopenharmony_ci  function off(type: 'cellInfoChange', callback?: Callback<Array<CellInformation>>): void;
3415b8fca66Sopenharmony_ci
3425b8fca66Sopenharmony_ci  /**
3435b8fca66Sopenharmony_ci   * Callback when the cellular data link connection state corresponding to the default sim card is updated.
3445b8fca66Sopenharmony_ci   *
3455b8fca66Sopenharmony_ci   * @param { 'cellularDataConnectionStateChange' } type - Event type. Indicates the cellularDataConnectionStateChange
3465b8fca66Sopenharmony_ci   * event to be subscribed to.
3475b8fca66Sopenharmony_ci   * @param { Callback<{ state: DataConnectState, network: RatType }> } callback - Indicates the callback for
3485b8fca66Sopenharmony_ci   * getting the cellular data link connection state, and networkType Indicates the radio access technology
3495b8fca66Sopenharmony_ci   * for cellular data services.
3505b8fca66Sopenharmony_ci   * @throws { BusinessError } 401 - Parameter error.
3515b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
3525b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
3535b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
3545b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
3555b8fca66Sopenharmony_ci   * @syscap SystemCapability.Telephony.StateRegistry
3565b8fca66Sopenharmony_ci   * @since 7
3575b8fca66Sopenharmony_ci   */
3585b8fca66Sopenharmony_ci  /**
3595b8fca66Sopenharmony_ci   * Callback when the cellular data link connection state corresponding to the default sim card is updated.
3605b8fca66Sopenharmony_ci   *
3615b8fca66Sopenharmony_ci   * @param { 'cellularDataConnectionStateChange' } type - Event type. Indicates the cellularDataConnectionStateChange
3625b8fca66Sopenharmony_ci   * event to be subscribed to.
3635b8fca66Sopenharmony_ci   * @param { Callback<DataConnectionStateInfo> } callback - Indicates the callback for
3645b8fca66Sopenharmony_ci   * getting the cellular data link connection state, and networkType Indicates the radio access technology
3655b8fca66Sopenharmony_ci   * for cellular data services.
3665b8fca66Sopenharmony_ci   * @throws { BusinessError } 401 - Parameter error.Possible causes: 1. Mandatory parameters are left unspecified.
3675b8fca66Sopenharmony_ci   * 2. Incorrect parameter types.
3685b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
3695b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
3705b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
3715b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
3725b8fca66Sopenharmony_ci   * @syscap SystemCapability.Telephony.StateRegistry
3735b8fca66Sopenharmony_ci   * @since 11
3745b8fca66Sopenharmony_ci   */
3755b8fca66Sopenharmony_ci  function on(type: 'cellularDataConnectionStateChange', callback: Callback<DataConnectionStateInfo>): void;
3765b8fca66Sopenharmony_ci
3775b8fca66Sopenharmony_ci  /**
3785b8fca66Sopenharmony_ci   * Callback when the cellular data link connection state corresponding to the monitored {@code slotId} is updated.
3795b8fca66Sopenharmony_ci   *
3805b8fca66Sopenharmony_ci   * @param { 'cellularDataConnectionStateChange' } type - Event type. Indicates the cellularDataConnectionStateChange
3815b8fca66Sopenharmony_ci   * event to be subscribed to.
3825b8fca66Sopenharmony_ci   * @param { object } options - Indicates the ID of the target card slot.
3835b8fca66Sopenharmony_ci   * The value {@code 0} indicates card 1, and the value {@code 1} indicates card 2.
3845b8fca66Sopenharmony_ci   * @param { Callback<{ state: DataConnectState, network: RatType }> } callback - Indicates the callback for
3855b8fca66Sopenharmony_ci   * getting the cellular data link connection state, and networkType Indicates the radio access technology for
3865b8fca66Sopenharmony_ci   * cellular data services.
3875b8fca66Sopenharmony_ci   * @throws { BusinessError } 401 - Parameter error.
3885b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
3895b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
3905b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
3915b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
3925b8fca66Sopenharmony_ci   * @syscap SystemCapability.Telephony.StateRegistry
3935b8fca66Sopenharmony_ci   * @since 7
3945b8fca66Sopenharmony_ci   */
3955b8fca66Sopenharmony_ci  /**
3965b8fca66Sopenharmony_ci   * Callback when the cellular data link connection state corresponding to the monitored {@code slotId} is updated.
3975b8fca66Sopenharmony_ci   *
3985b8fca66Sopenharmony_ci   * @param { 'cellularDataConnectionStateChange' } type - Event type. Indicates the cellularDataConnectionStateChange
3995b8fca66Sopenharmony_ci   * event to be subscribed to.
4005b8fca66Sopenharmony_ci   * @param { ObserverOptions } options - Indicates the options for observer.
4015b8fca66Sopenharmony_ci   * @param { Callback<DataConnectionStateInfo> } callback - Indicates the callback for
4025b8fca66Sopenharmony_ci   * getting the cellular data link connection state, and networkType Indicates the radio access technology for
4035b8fca66Sopenharmony_ci   * cellular data services.
4045b8fca66Sopenharmony_ci   * @throws { BusinessError } 401 - Parameter error.Possible causes: 1. Mandatory parameters are left unspecified.
4055b8fca66Sopenharmony_ci   * 2. Incorrect parameter types.
4065b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
4075b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
4085b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
4095b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
4105b8fca66Sopenharmony_ci   * @syscap SystemCapability.Telephony.StateRegistry
4115b8fca66Sopenharmony_ci   * @since 11
4125b8fca66Sopenharmony_ci   */
4135b8fca66Sopenharmony_ci  function on(type: 'cellularDataConnectionStateChange', options: ObserverOptions,
4145b8fca66Sopenharmony_ci    callback: Callback<DataConnectionStateInfo>): void;
4155b8fca66Sopenharmony_ci
4165b8fca66Sopenharmony_ci  /**
4175b8fca66Sopenharmony_ci   * Cancel callback when the cellular data link connection state is updated.
4185b8fca66Sopenharmony_ci   *
4195b8fca66Sopenharmony_ci   * @param { 'cellularDataConnectionStateChange' } type - Event type. Indicates the cellularDataConnectionStateChange
4205b8fca66Sopenharmony_ci   * event to unsubscribe from.
4215b8fca66Sopenharmony_ci   * @param { Callback<{ state: DataConnectState, network: RatType }> } callback - Indicates the callback to unsubscribe
4225b8fca66Sopenharmony_ci   * from the cellularDataConnectionStateChange event.
4235b8fca66Sopenharmony_ci   * @throws { BusinessError } 401 - Parameter error.
4245b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
4255b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
4265b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
4275b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
4285b8fca66Sopenharmony_ci   * @syscap SystemCapability.Telephony.StateRegistry
4295b8fca66Sopenharmony_ci   * @since 7
4305b8fca66Sopenharmony_ci   */
4315b8fca66Sopenharmony_ci  /**
4325b8fca66Sopenharmony_ci   * Cancel callback when the cellular data link connection state is updated.
4335b8fca66Sopenharmony_ci   *
4345b8fca66Sopenharmony_ci   * @param { 'cellularDataConnectionStateChange' } type - Event type. Indicates the cellularDataConnectionStateChange
4355b8fca66Sopenharmony_ci   * event to unsubscribe from.
4365b8fca66Sopenharmony_ci   * @param { Callback<DataConnectionStateInfo> } callback - Indicates the callback to unsubscribe
4375b8fca66Sopenharmony_ci   * from the cellularDataConnectionStateChange event.
4385b8fca66Sopenharmony_ci   * @throws { BusinessError } 401 - Parameter error.Possible causes: 1. Mandatory parameters are left unspecified.
4395b8fca66Sopenharmony_ci   * 2. Incorrect parameter types.
4405b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
4415b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
4425b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
4435b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
4445b8fca66Sopenharmony_ci   * @syscap SystemCapability.Telephony.StateRegistry
4455b8fca66Sopenharmony_ci   * @since 11
4465b8fca66Sopenharmony_ci   */
4475b8fca66Sopenharmony_ci  function off(type: 'cellularDataConnectionStateChange', callback?: Callback<DataConnectionStateInfo>): void;
4485b8fca66Sopenharmony_ci
4495b8fca66Sopenharmony_ci  /**
4505b8fca66Sopenharmony_ci   * Callback when the uplink and downlink data flow state of cellular data services
4515b8fca66Sopenharmony_ci   * corresponding to the default sim card is updated.
4525b8fca66Sopenharmony_ci   *
4535b8fca66Sopenharmony_ci   * @param { 'cellularDataFlowChange' } type - Event type. Indicates the cellularDataFlowChange event to be subscribed to.
4545b8fca66Sopenharmony_ci   * @param { Callback<DataFlowType> } callback - Indicates the callback for getting the cellular data flow state.
4555b8fca66Sopenharmony_ci   * @throws { BusinessError } 401 - Parameter error.Possible causes: 1. Mandatory parameters are left unspecified.
4565b8fca66Sopenharmony_ci   * 2. Incorrect parameter types.
4575b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
4585b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
4595b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
4605b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
4615b8fca66Sopenharmony_ci   * @syscap SystemCapability.Telephony.StateRegistry
4625b8fca66Sopenharmony_ci   * @since 7
4635b8fca66Sopenharmony_ci   */
4645b8fca66Sopenharmony_ci  function on(type: 'cellularDataFlowChange', callback: Callback<DataFlowType>): void;
4655b8fca66Sopenharmony_ci
4665b8fca66Sopenharmony_ci  /**
4675b8fca66Sopenharmony_ci   * Callback when the uplink and downlink data flow state of cellular data services
4685b8fca66Sopenharmony_ci   * corresponding to the monitored {@code slotId} is updated.
4695b8fca66Sopenharmony_ci   *
4705b8fca66Sopenharmony_ci   * @param { 'cellularDataFlowChange' } type - Event type. Indicates the cellularDataFlowChange event to be subscribed to.
4715b8fca66Sopenharmony_ci   * @param { object } options - Indicates the ID of the target card slot.
4725b8fca66Sopenharmony_ci   * The value {@code 0} indicates card 1, and the value {@code 1} indicates card 2.
4735b8fca66Sopenharmony_ci   * @param { Callback<DataFlowType> } callback - Indicates the callback for getting the cellular data flow state.
4745b8fca66Sopenharmony_ci   * @throws { BusinessError } 401 - Parameter error.
4755b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
4765b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
4775b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
4785b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
4795b8fca66Sopenharmony_ci   * @syscap SystemCapability.Telephony.StateRegistry
4805b8fca66Sopenharmony_ci   * @since 7
4815b8fca66Sopenharmony_ci   */
4825b8fca66Sopenharmony_ci  /**
4835b8fca66Sopenharmony_ci   * Callback when the uplink and downlink data flow state of cellular data services
4845b8fca66Sopenharmony_ci   * corresponding to the monitored {@code slotId} is updated.
4855b8fca66Sopenharmony_ci   *
4865b8fca66Sopenharmony_ci   * @param { 'cellularDataFlowChange' } type - Event type. Indicates the cellularDataFlowChange event to be subscribed to.
4875b8fca66Sopenharmony_ci   * @param { ObserverOptions } options - Indicates the options for observer.
4885b8fca66Sopenharmony_ci   * @param { Callback<DataFlowType> } callback - Indicates the callback for getting the cellular data flow state.
4895b8fca66Sopenharmony_ci   * @throws { BusinessError } 401 - Parameter error.Possible causes: 1. Mandatory parameters are left unspecified.
4905b8fca66Sopenharmony_ci   * 2. Incorrect parameter types.
4915b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
4925b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
4935b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
4945b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
4955b8fca66Sopenharmony_ci   * @syscap SystemCapability.Telephony.StateRegistry
4965b8fca66Sopenharmony_ci   * @since 11
4975b8fca66Sopenharmony_ci   */
4985b8fca66Sopenharmony_ci  function on(type: 'cellularDataFlowChange', options: ObserverOptions, callback: Callback<DataFlowType>): void;
4995b8fca66Sopenharmony_ci
5005b8fca66Sopenharmony_ci  /**
5015b8fca66Sopenharmony_ci   * Cancel callback when the uplink and downlink data flow state of cellular data services is updated.
5025b8fca66Sopenharmony_ci   *
5035b8fca66Sopenharmony_ci   * @param { 'cellularDataFlowChange' } type - Event type. Indicates the cellularDataFlowChange event to unsubscribe from.
5045b8fca66Sopenharmony_ci   * @param { Callback<DataFlowType> } callback - Indicates the callback to unsubscribe from
5055b8fca66Sopenharmony_ci   * the cellularDataFlowChange event.
5065b8fca66Sopenharmony_ci   * @throws { BusinessError } 401 - Parameter error.Possible causes: 1. Mandatory parameters are left unspecified.
5075b8fca66Sopenharmony_ci   * 2. Incorrect parameter types.
5085b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
5095b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
5105b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
5115b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
5125b8fca66Sopenharmony_ci   * @syscap SystemCapability.Telephony.StateRegistry
5135b8fca66Sopenharmony_ci   * @since 7
5145b8fca66Sopenharmony_ci   */
5155b8fca66Sopenharmony_ci  function off(type: 'cellularDataFlowChange', callback?: Callback<DataFlowType>): void;
5165b8fca66Sopenharmony_ci
5175b8fca66Sopenharmony_ci  /**
5185b8fca66Sopenharmony_ci   * Callback when the call state corresponding to the default sim card is updated.
5195b8fca66Sopenharmony_ci   *
5205b8fca66Sopenharmony_ci   * @param { 'callStateChange' } type - Event type. Indicates the callStateChange event to be subscribed to.
5215b8fca66Sopenharmony_ci   * @param { Callback<{ state: CallState, number: string }> } callback - Indicates the callback for
5225b8fca66Sopenharmony_ci   * getting the call state and the called number.
5235b8fca66Sopenharmony_ci   * @throws { BusinessError } 401 - Parameter error.
5245b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
5255b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
5265b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
5275b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
5285b8fca66Sopenharmony_ci   * @syscap SystemCapability.Telephony.StateRegistry
5295b8fca66Sopenharmony_ci   * @since 6
5305b8fca66Sopenharmony_ci   */
5315b8fca66Sopenharmony_ci  /**
5325b8fca66Sopenharmony_ci   * Callback when the call state corresponding to the default sim card is updated.
5335b8fca66Sopenharmony_ci   *
5345b8fca66Sopenharmony_ci   * @param { 'callStateChange' } type - Event type. Indicates the callStateChange event to be subscribed to.
5355b8fca66Sopenharmony_ci   * @param { Callback<CallStateInfo> } callback - Indicates the callback for
5365b8fca66Sopenharmony_ci   * getting the call state and the called number.
5375b8fca66Sopenharmony_ci   * @throws { BusinessError } 401 - Parameter error.Possible causes: 1. Mandatory parameters are left unspecified.
5385b8fca66Sopenharmony_ci   * 2. Incorrect parameter types.
5395b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
5405b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
5415b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
5425b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
5435b8fca66Sopenharmony_ci   * @syscap SystemCapability.Telephony.StateRegistry
5445b8fca66Sopenharmony_ci   * @since 11
5455b8fca66Sopenharmony_ci   */
5465b8fca66Sopenharmony_ci  function on(type: 'callStateChange', callback: Callback<CallStateInfo>): void;
5475b8fca66Sopenharmony_ci
5485b8fca66Sopenharmony_ci  /**
5495b8fca66Sopenharmony_ci   * Callback when the call state corresponding to the monitored {@code slotId} is updated.
5505b8fca66Sopenharmony_ci   *
5515b8fca66Sopenharmony_ci   * @param { 'callStateChange' } type - Event type. Indicates the callStateChange event to be subscribed to.
5525b8fca66Sopenharmony_ci   * @param { object } options - Indicates the ID of the target card slot.
5535b8fca66Sopenharmony_ci   * The value {@code 0} indicates card 1, and the value {@code 1} indicates card 2.
5545b8fca66Sopenharmony_ci   * @param { Callback<{ state: CallState, number: string }> } callback - Indicates the callback for
5555b8fca66Sopenharmony_ci   * getting the call state and the called number.
5565b8fca66Sopenharmony_ci   * @throws { BusinessError } 401 - Parameter error.
5575b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
5585b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
5595b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
5605b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
5615b8fca66Sopenharmony_ci   * @syscap SystemCapability.Telephony.StateRegistry
5625b8fca66Sopenharmony_ci   * @since 6
5635b8fca66Sopenharmony_ci   */
5645b8fca66Sopenharmony_ci  /**
5655b8fca66Sopenharmony_ci   * Callback when the call state corresponding to the monitored {@code slotId} is updated.
5665b8fca66Sopenharmony_ci   *
5675b8fca66Sopenharmony_ci   * @param { 'callStateChange' } type - Event type. Indicates the callStateChange event to be subscribed to.
5685b8fca66Sopenharmony_ci   * @param { ObserverOptions } options - Indicates the options for observer.
5695b8fca66Sopenharmony_ci   * @param { Callback<CallStateInfo> } callback - Indicates the callback for
5705b8fca66Sopenharmony_ci   * getting the call state and the called number.
5715b8fca66Sopenharmony_ci   * @throws { BusinessError } 401 - Parameter error.Possible causes: 1. Mandatory parameters are left unspecified.
5725b8fca66Sopenharmony_ci   * 2. Incorrect parameter types.
5735b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
5745b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
5755b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
5765b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
5775b8fca66Sopenharmony_ci   * @syscap SystemCapability.Telephony.StateRegistry
5785b8fca66Sopenharmony_ci   * @since 11
5795b8fca66Sopenharmony_ci   */
5805b8fca66Sopenharmony_ci  function on(type: 'callStateChange', options: ObserverOptions, callback: Callback<CallStateInfo>): void;
5815b8fca66Sopenharmony_ci
5825b8fca66Sopenharmony_ci  /**
5835b8fca66Sopenharmony_ci   * Cancel callback when the call state is updated.
5845b8fca66Sopenharmony_ci   *
5855b8fca66Sopenharmony_ci   * @param { 'callStateChange' } type - Event type. Indicates the callStateChange event to unsubscribe from.
5865b8fca66Sopenharmony_ci   * @param { Callback<{ state: CallState, number: string }> } callback - Indicates the callback to
5875b8fca66Sopenharmony_ci   * unsubscribe from the callStateChange event.
5885b8fca66Sopenharmony_ci   * @throws { BusinessError } 401 - Parameter error.
5895b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
5905b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
5915b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
5925b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
5935b8fca66Sopenharmony_ci   * @syscap SystemCapability.Telephony.StateRegistry
5945b8fca66Sopenharmony_ci   * @since 6
5955b8fca66Sopenharmony_ci   */
5965b8fca66Sopenharmony_ci  /**
5975b8fca66Sopenharmony_ci   * Cancel callback when the call state is updated.
5985b8fca66Sopenharmony_ci   *
5995b8fca66Sopenharmony_ci   * @param { 'callStateChange' } type - Event type. Indicates the callStateChange event to unsubscribe from.
6005b8fca66Sopenharmony_ci   * @param { Callback<CallStateInfo> } callback - Indicates the callback to
6015b8fca66Sopenharmony_ci   * unsubscribe from the callStateChange event.
6025b8fca66Sopenharmony_ci   * @throws { BusinessError } 401 - Parameter error.Possible causes: 1. Mandatory parameters are left unspecified.
6035b8fca66Sopenharmony_ci   * 2. Incorrect parameter types.
6045b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
6055b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
6065b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
6075b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
6085b8fca66Sopenharmony_ci   * @syscap SystemCapability.Telephony.StateRegistry
6095b8fca66Sopenharmony_ci   * @since 11
6105b8fca66Sopenharmony_ci   */
6115b8fca66Sopenharmony_ci  function off(type: 'callStateChange', callback?: Callback<CallStateInfo>): void;
6125b8fca66Sopenharmony_ci
6135b8fca66Sopenharmony_ci  /**
6145b8fca66Sopenharmony_ci   * Callback when the sim state corresponding to the default sim card is updated.
6155b8fca66Sopenharmony_ci   *
6165b8fca66Sopenharmony_ci   * @param { 'simStateChange' } type - Event type. Indicates the simStateChange event to be subscribed to.
6175b8fca66Sopenharmony_ci   * @param { Callback<SimStateData> } callback - Indicates the callback for getting the SimStateData object.
6185b8fca66Sopenharmony_ci   * including state Indicates the sim state, and reason Indicates the cause of the change.
6195b8fca66Sopenharmony_ci   * @throws { BusinessError } 401 - Parameter error.Possible causes: 1. Mandatory parameters are left unspecified.
6205b8fca66Sopenharmony_ci   * 2. Incorrect parameter types.
6215b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
6225b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
6235b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
6245b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
6255b8fca66Sopenharmony_ci   * @syscap SystemCapability.Telephony.StateRegistry
6265b8fca66Sopenharmony_ci   * @since 7
6275b8fca66Sopenharmony_ci   */
6285b8fca66Sopenharmony_ci  function on(type: 'simStateChange', callback: Callback<SimStateData>): void;
6295b8fca66Sopenharmony_ci
6305b8fca66Sopenharmony_ci  /**
6315b8fca66Sopenharmony_ci   * Callback when the sim state corresponding to the monitored {@code slotId} is updated.
6325b8fca66Sopenharmony_ci   *
6335b8fca66Sopenharmony_ci   * @param { 'simStateChange' } type - Event type. Indicates the simStateChange event to be subscribed to.
6345b8fca66Sopenharmony_ci   * @param { object } options - Indicates the ID of the target card slot.
6355b8fca66Sopenharmony_ci   * The value {@code 0} indicates card 1, and the value {@code 1} indicates card 2.
6365b8fca66Sopenharmony_ci   * @param { Callback<SimStateData> } callback - Indicates the callback for getting the SimStateData object.
6375b8fca66Sopenharmony_ci   * @throws { BusinessError } 401 - Parameter error.
6385b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
6395b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
6405b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
6415b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
6425b8fca66Sopenharmony_ci   * @syscap SystemCapability.Telephony.StateRegistry
6435b8fca66Sopenharmony_ci   * @since 7
6445b8fca66Sopenharmony_ci   */
6455b8fca66Sopenharmony_ci  /**
6465b8fca66Sopenharmony_ci   * Callback when the sim state corresponding to the monitored {@code slotId} is updated.
6475b8fca66Sopenharmony_ci   *
6485b8fca66Sopenharmony_ci   * @param { 'simStateChange' } type - Event type. Indicates the simStateChange event to be subscribed to.
6495b8fca66Sopenharmony_ci   * @param { ObserverOptions } options - Indicates the options for observer.
6505b8fca66Sopenharmony_ci   * @param { Callback<SimStateData> } callback - Indicates the callback for getting the SimStateData object.
6515b8fca66Sopenharmony_ci   * @throws { BusinessError } 401 - Parameter error.Possible causes: 1. Mandatory parameters are left unspecified.
6525b8fca66Sopenharmony_ci   * 2. Incorrect parameter types.
6535b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
6545b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
6555b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
6565b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
6575b8fca66Sopenharmony_ci   * @syscap SystemCapability.Telephony.StateRegistry
6585b8fca66Sopenharmony_ci   * @since 11
6595b8fca66Sopenharmony_ci   */
6605b8fca66Sopenharmony_ci  function on(type: 'simStateChange', options: ObserverOptions, callback: Callback<SimStateData>): void;
6615b8fca66Sopenharmony_ci
6625b8fca66Sopenharmony_ci  /**
6635b8fca66Sopenharmony_ci   * Cancel callback when the sim state is updated.
6645b8fca66Sopenharmony_ci   *
6655b8fca66Sopenharmony_ci   * @param { 'simStateChange' } type - Event type. Indicates the simStateChange event to unsubscribe from.
6665b8fca66Sopenharmony_ci   * @param { Callback<SimStateData> } callback - Indicates the callback to unsubscribe from the simStateChange event.
6675b8fca66Sopenharmony_ci   * @throws { BusinessError } 401 - Parameter error.Possible causes: 1. Mandatory parameters are left unspecified.
6685b8fca66Sopenharmony_ci   * 2. Incorrect parameter types.
6695b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
6705b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
6715b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
6725b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
6735b8fca66Sopenharmony_ci   * @syscap SystemCapability.Telephony.StateRegistry
6745b8fca66Sopenharmony_ci   * @since 7
6755b8fca66Sopenharmony_ci   */
6765b8fca66Sopenharmony_ci  function off(type: 'simStateChange', callback?: Callback<SimStateData>): void;
6775b8fca66Sopenharmony_ci
6785b8fca66Sopenharmony_ci  /**
6795b8fca66Sopenharmony_ci   * Receives an ICC account change. This callback is invoked when the ICC account updates
6805b8fca66Sopenharmony_ci   * and the observer is added to monitor the updates.
6815b8fca66Sopenharmony_ci   *
6825b8fca66Sopenharmony_ci   * @param { 'iccAccountInfoChange' } type - iccAccountInfoChange
6835b8fca66Sopenharmony_ci   * @param { Callback<void> } callback - including state Indicates the ICC account information,
6845b8fca66Sopenharmony_ci   * and reason Indicates the cause of the change.
6855b8fca66Sopenharmony_ci   * @throws { BusinessError } 401 - Parameter error.Possible causes: 1. Mandatory parameters are left unspecified.
6865b8fca66Sopenharmony_ci   * 2. Incorrect parameter types.
6875b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
6885b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
6895b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
6905b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
6915b8fca66Sopenharmony_ci   * @syscap SystemCapability.Telephony.StateRegistry
6925b8fca66Sopenharmony_ci   * @since 10
6935b8fca66Sopenharmony_ci   */
6945b8fca66Sopenharmony_ci  function on(type: 'iccAccountInfoChange', callback: Callback<void>): void;
6955b8fca66Sopenharmony_ci
6965b8fca66Sopenharmony_ci  /**
6975b8fca66Sopenharmony_ci   * Cancel to receive an ICC account change.
6985b8fca66Sopenharmony_ci   *
6995b8fca66Sopenharmony_ci   * @param { 'iccAccountInfoChange' } type - iccAccountInfoChange
7005b8fca66Sopenharmony_ci   * @param { Callback<void> } callback - including state Indicates the ICC account information,
7015b8fca66Sopenharmony_ci   * and reason Indicates the cause of the change.
7025b8fca66Sopenharmony_ci   * @throws { BusinessError } 401 - Parameter error.Possible causes: 1. Mandatory parameters are left unspecified.
7035b8fca66Sopenharmony_ci   * 2. Incorrect parameter types.
7045b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
7055b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
7065b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
7075b8fca66Sopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
7085b8fca66Sopenharmony_ci   * @syscap SystemCapability.Telephony.StateRegistry
7095b8fca66Sopenharmony_ci   * @since 10
7105b8fca66Sopenharmony_ci   */
7115b8fca66Sopenharmony_ci  function off(type: 'iccAccountInfoChange', callback?: Callback<void>): void;
7125b8fca66Sopenharmony_ci
7135b8fca66Sopenharmony_ci  /**
7145b8fca66Sopenharmony_ci   * Indicates SIM card type and status.
7155b8fca66Sopenharmony_ci   *
7165b8fca66Sopenharmony_ci   * @interface SimStateData
7175b8fca66Sopenharmony_ci   * @syscap SystemCapability.Telephony.StateRegistry
7185b8fca66Sopenharmony_ci   * @since 7
7195b8fca66Sopenharmony_ci   */
7205b8fca66Sopenharmony_ci  export interface SimStateData {
7215b8fca66Sopenharmony_ci    /**
7225b8fca66Sopenharmony_ci     * Indicates the SIM card type.
7235b8fca66Sopenharmony_ci     *
7245b8fca66Sopenharmony_ci     * @type { CardType }
7255b8fca66Sopenharmony_ci     * @syscap SystemCapability.Telephony.StateRegistry
7265b8fca66Sopenharmony_ci     * @since 7
7275b8fca66Sopenharmony_ci     */
7285b8fca66Sopenharmony_ci    type: CardType;
7295b8fca66Sopenharmony_ci
7305b8fca66Sopenharmony_ci    /**
7315b8fca66Sopenharmony_ci     * Indicates the SIM card states.
7325b8fca66Sopenharmony_ci     *
7335b8fca66Sopenharmony_ci     * @type { SimState }
7345b8fca66Sopenharmony_ci     * @syscap SystemCapability.Telephony.StateRegistry
7355b8fca66Sopenharmony_ci     * @since 7
7365b8fca66Sopenharmony_ci     */
7375b8fca66Sopenharmony_ci    state: SimState;
7385b8fca66Sopenharmony_ci
7395b8fca66Sopenharmony_ci    /**
7405b8fca66Sopenharmony_ci     * Indicates the SIM card lock type.
7415b8fca66Sopenharmony_ci     *
7425b8fca66Sopenharmony_ci     * @type { LockReason }
7435b8fca66Sopenharmony_ci     * @syscap SystemCapability.Telephony.StateRegistry
7445b8fca66Sopenharmony_ci     * @since 8
7455b8fca66Sopenharmony_ci     */
7465b8fca66Sopenharmony_ci    reason: LockReason;
7475b8fca66Sopenharmony_ci  }
7485b8fca66Sopenharmony_ci
7495b8fca66Sopenharmony_ci  /**
7505b8fca66Sopenharmony_ci   * Indicates call state and number.
7515b8fca66Sopenharmony_ci   *
7525b8fca66Sopenharmony_ci   * @interface CallStateInfo
7535b8fca66Sopenharmony_ci   * @syscap SystemCapability.Telephony.StateRegistry
7545b8fca66Sopenharmony_ci   * @since 11
7555b8fca66Sopenharmony_ci   */
7565b8fca66Sopenharmony_ci  export interface CallStateInfo {
7575b8fca66Sopenharmony_ci    /**
7585b8fca66Sopenharmony_ci     * Indicates call state.
7595b8fca66Sopenharmony_ci     *
7605b8fca66Sopenharmony_ci     * @type { CallState }
7615b8fca66Sopenharmony_ci     * @syscap SystemCapability.Telephony.StateRegistry
7625b8fca66Sopenharmony_ci     * @since 11
7635b8fca66Sopenharmony_ci     */
7645b8fca66Sopenharmony_ci    state: CallState;
7655b8fca66Sopenharmony_ci
7665b8fca66Sopenharmony_ci    /**
7675b8fca66Sopenharmony_ci     * Indicates call number.
7685b8fca66Sopenharmony_ci     *
7695b8fca66Sopenharmony_ci     * @type { string }
7705b8fca66Sopenharmony_ci     * @syscap SystemCapability.Telephony.StateRegistry
7715b8fca66Sopenharmony_ci     * @since 11
7725b8fca66Sopenharmony_ci     */
7735b8fca66Sopenharmony_ci    number: string;
7745b8fca66Sopenharmony_ci  }
7755b8fca66Sopenharmony_ci
7765b8fca66Sopenharmony_ci  /**
7775b8fca66Sopenharmony_ci   * Indicates cellular data connect state and technology type.
7785b8fca66Sopenharmony_ci   *
7795b8fca66Sopenharmony_ci   * @interface DataConnectionStateInfo
7805b8fca66Sopenharmony_ci   * @syscap SystemCapability.Telephony.StateRegistry
7815b8fca66Sopenharmony_ci   * @since 11
7825b8fca66Sopenharmony_ci   */
7835b8fca66Sopenharmony_ci  export interface DataConnectionStateInfo {
7845b8fca66Sopenharmony_ci    /**
7855b8fca66Sopenharmony_ci     * Indicates cellular data connect state.
7865b8fca66Sopenharmony_ci     *
7875b8fca66Sopenharmony_ci     * @type { DataConnectState }
7885b8fca66Sopenharmony_ci     * @syscap SystemCapability.Telephony.StateRegistry
7895b8fca66Sopenharmony_ci     * @since 11
7905b8fca66Sopenharmony_ci     */
7915b8fca66Sopenharmony_ci    state: DataConnectState;
7925b8fca66Sopenharmony_ci
7935b8fca66Sopenharmony_ci    /**
7945b8fca66Sopenharmony_ci     * Indicates technology type.
7955b8fca66Sopenharmony_ci     *
7965b8fca66Sopenharmony_ci     * @type { RatType }
7975b8fca66Sopenharmony_ci     * @syscap SystemCapability.Telephony.StateRegistry
7985b8fca66Sopenharmony_ci     * @since 11
7995b8fca66Sopenharmony_ci     */
8005b8fca66Sopenharmony_ci    network: RatType;
8015b8fca66Sopenharmony_ci  }
8025b8fca66Sopenharmony_ci
8035b8fca66Sopenharmony_ci  /**
8045b8fca66Sopenharmony_ci   * Indicates observer options.
8055b8fca66Sopenharmony_ci   *
8065b8fca66Sopenharmony_ci   * @interface ObserverOptions
8075b8fca66Sopenharmony_ci   * @syscap SystemCapability.Telephony.StateRegistry
8085b8fca66Sopenharmony_ci   * @since 11
8095b8fca66Sopenharmony_ci   */
8105b8fca66Sopenharmony_ci  export interface ObserverOptions {
8115b8fca66Sopenharmony_ci    /**
8125b8fca66Sopenharmony_ci     * Indicates the ID of the target card slot.
8135b8fca66Sopenharmony_ci     *
8145b8fca66Sopenharmony_ci     * @type { number }
8155b8fca66Sopenharmony_ci     * @syscap SystemCapability.Telephony.StateRegistry
8165b8fca66Sopenharmony_ci     * @since 11
8175b8fca66Sopenharmony_ci     */
8185b8fca66Sopenharmony_ci    slotId: number;
8195b8fca66Sopenharmony_ci  }
8205b8fca66Sopenharmony_ci
8215b8fca66Sopenharmony_ci  /**
8225b8fca66Sopenharmony_ci   * Enum for SIM card lock type.
8235b8fca66Sopenharmony_ci   *
8245b8fca66Sopenharmony_ci   * @enum { number }
8255b8fca66Sopenharmony_ci   * @syscap SystemCapability.Telephony.StateRegistry
8265b8fca66Sopenharmony_ci   * @since 8
8275b8fca66Sopenharmony_ci   */
8285b8fca66Sopenharmony_ci  export enum LockReason {
8295b8fca66Sopenharmony_ci    /**
8305b8fca66Sopenharmony_ci     * Indicates no SIM lock.
8315b8fca66Sopenharmony_ci     *
8325b8fca66Sopenharmony_ci     * @syscap SystemCapability.Telephony.StateRegistry
8335b8fca66Sopenharmony_ci     * @since 8
8345b8fca66Sopenharmony_ci     */
8355b8fca66Sopenharmony_ci    SIM_NONE,
8365b8fca66Sopenharmony_ci
8375b8fca66Sopenharmony_ci    /**
8385b8fca66Sopenharmony_ci     * Indicates the PIN lock.
8395b8fca66Sopenharmony_ci     *
8405b8fca66Sopenharmony_ci     * @syscap SystemCapability.Telephony.StateRegistry
8415b8fca66Sopenharmony_ci     * @since 8
8425b8fca66Sopenharmony_ci     */
8435b8fca66Sopenharmony_ci    SIM_PIN,
8445b8fca66Sopenharmony_ci
8455b8fca66Sopenharmony_ci    /**
8465b8fca66Sopenharmony_ci     * Indicates the PUK lock.
8475b8fca66Sopenharmony_ci     *
8485b8fca66Sopenharmony_ci     * @syscap SystemCapability.Telephony.StateRegistry
8495b8fca66Sopenharmony_ci     * @since 8
8505b8fca66Sopenharmony_ci     */
8515b8fca66Sopenharmony_ci    SIM_PUK,
8525b8fca66Sopenharmony_ci
8535b8fca66Sopenharmony_ci    /**
8545b8fca66Sopenharmony_ci     * Indicates network personalization of PIN lock(refer 3GPP TS 22.022 [33]).
8555b8fca66Sopenharmony_ci     *
8565b8fca66Sopenharmony_ci     * @syscap SystemCapability.Telephony.StateRegistry
8575b8fca66Sopenharmony_ci     * @since 8
8585b8fca66Sopenharmony_ci     */
8595b8fca66Sopenharmony_ci    SIM_PN_PIN,
8605b8fca66Sopenharmony_ci
8615b8fca66Sopenharmony_ci    /**
8625b8fca66Sopenharmony_ci     * Indicates network personalization of PUK lock(refer 3GPP TS 22.022 [33]).
8635b8fca66Sopenharmony_ci     *
8645b8fca66Sopenharmony_ci     * @syscap SystemCapability.Telephony.StateRegistry
8655b8fca66Sopenharmony_ci     * @since 8
8665b8fca66Sopenharmony_ci     */
8675b8fca66Sopenharmony_ci    SIM_PN_PUK,
8685b8fca66Sopenharmony_ci
8695b8fca66Sopenharmony_ci    /**
8705b8fca66Sopenharmony_ci     * Indicates network subset personalization of PIN lock(refer 3GPP TS 22.022 [33]).
8715b8fca66Sopenharmony_ci     *
8725b8fca66Sopenharmony_ci     * @syscap SystemCapability.Telephony.StateRegistry
8735b8fca66Sopenharmony_ci     * @since 8
8745b8fca66Sopenharmony_ci     */
8755b8fca66Sopenharmony_ci    SIM_PU_PIN,
8765b8fca66Sopenharmony_ci
8775b8fca66Sopenharmony_ci    /**
8785b8fca66Sopenharmony_ci     * Indicates network subset personalization of PUK lock(refer 3GPP TS 22.022 [33]).
8795b8fca66Sopenharmony_ci     *
8805b8fca66Sopenharmony_ci     * @syscap SystemCapability.Telephony.StateRegistry
8815b8fca66Sopenharmony_ci     * @since 8
8825b8fca66Sopenharmony_ci     */
8835b8fca66Sopenharmony_ci    SIM_PU_PUK,
8845b8fca66Sopenharmony_ci
8855b8fca66Sopenharmony_ci    /**
8865b8fca66Sopenharmony_ci     * Indicates service provider personalization of PIN lock(refer 3GPP TS 22.022 [33]).
8875b8fca66Sopenharmony_ci     *
8885b8fca66Sopenharmony_ci     * @syscap SystemCapability.Telephony.StateRegistry
8895b8fca66Sopenharmony_ci     * @since 8
8905b8fca66Sopenharmony_ci     */
8915b8fca66Sopenharmony_ci    SIM_PP_PIN,
8925b8fca66Sopenharmony_ci
8935b8fca66Sopenharmony_ci    /**
8945b8fca66Sopenharmony_ci     * Indicates service provider personalization of PUK lock(refer 3GPP TS 22.022 [33]).
8955b8fca66Sopenharmony_ci     *
8965b8fca66Sopenharmony_ci     * @syscap SystemCapability.Telephony.StateRegistry
8975b8fca66Sopenharmony_ci     * @since 8
8985b8fca66Sopenharmony_ci     */
8995b8fca66Sopenharmony_ci    SIM_PP_PUK,
9005b8fca66Sopenharmony_ci
9015b8fca66Sopenharmony_ci    /**
9025b8fca66Sopenharmony_ci     * Indicates corporate personalization of PIN lock(refer 3GPP TS 22.022 [33]).
9035b8fca66Sopenharmony_ci     *
9045b8fca66Sopenharmony_ci     * @syscap SystemCapability.Telephony.StateRegistry
9055b8fca66Sopenharmony_ci     * @since 8
9065b8fca66Sopenharmony_ci     */
9075b8fca66Sopenharmony_ci    SIM_PC_PIN,
9085b8fca66Sopenharmony_ci
9095b8fca66Sopenharmony_ci    /**
9105b8fca66Sopenharmony_ci     * Indicates corporate personalization of PUK lock(refer 3GPP TS 22.022 [33]).
9115b8fca66Sopenharmony_ci     *
9125b8fca66Sopenharmony_ci     * @syscap SystemCapability.Telephony.StateRegistry
9135b8fca66Sopenharmony_ci     * @since 8
9145b8fca66Sopenharmony_ci     */
9155b8fca66Sopenharmony_ci    SIM_PC_PUK,
9165b8fca66Sopenharmony_ci
9175b8fca66Sopenharmony_ci    /**
9185b8fca66Sopenharmony_ci     * Indicates SIM/USIM personalization of PIN lock(refer 3GPP TS 22.022 [33]).
9195b8fca66Sopenharmony_ci     *
9205b8fca66Sopenharmony_ci     * @syscap SystemCapability.Telephony.StateRegistry
9215b8fca66Sopenharmony_ci     * @since 8
9225b8fca66Sopenharmony_ci     */
9235b8fca66Sopenharmony_ci    SIM_SIM_PIN,
9245b8fca66Sopenharmony_ci
9255b8fca66Sopenharmony_ci    /**
9265b8fca66Sopenharmony_ci     * Indicates SIM/USIM personalization of PUK lock(refer 3GPP TS 22.022 [33]).
9275b8fca66Sopenharmony_ci     *
9285b8fca66Sopenharmony_ci     * @syscap SystemCapability.Telephony.StateRegistry
9295b8fca66Sopenharmony_ci     * @since 8
9305b8fca66Sopenharmony_ci     */
9315b8fca66Sopenharmony_ci    SIM_SIM_PUK,
9325b8fca66Sopenharmony_ci  }
9335b8fca66Sopenharmony_ci}
9345b8fca66Sopenharmony_ci
9355b8fca66Sopenharmony_ciexport default observer;
936