/* * Copyright (C) 2021-2023 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * @file * @kit TelephonyKit */ import type { Callback } from './@ohos.base'; import type radio from './@ohos.telephony.radio'; import type data from './@ohos.telephony.data'; import type call from './@ohos.telephony.call'; import type sim from './@ohos.telephony.sim'; /** * Monitors telephony state updates of a device, including updates of the network state, * signal strength, call state, the data link connection state and others. * * @namespace observer * @syscap SystemCapability.Telephony.StateRegistry * @since 6 */ declare namespace observer { /** * Describes the network registration state. * * @typedef NetworkState * @syscap SystemCapability.Telephony.StateRegistry * @since 6 */ type NetworkState = radio.NetworkState; /** * Describes the signal strength information. * * @typedef SignalInformation * @syscap SystemCapability.Telephony.StateRegistry * @since 6 */ type SignalInformation = radio.SignalInformation; /** * Describes current cell information. * * @typedef CellInformation * @syscap SystemCapability.Telephony.StateRegistry * @systemapi Hide this for inner system use. * @since 6 */ type CellInformation = radio.CellInformation; /** * Describes the cellular data link connection state. * * @typedef DataConnectState * @syscap SystemCapability.Telephony.StateRegistry * @since 6 */ type DataConnectState = data.DataConnectState; /** * Describes the radio access technology. * * @typedef RatType * @syscap SystemCapability.Telephony.StateRegistry * @since 6 */ type RatType = radio.RadioTechnology; /** * Describes the cellular data flow type. * * @typedef DataFlowType * @syscap SystemCapability.Telephony.StateRegistry * @since 6 */ type DataFlowType = data.DataFlowType; /** * Indicates the states of call. * * @typedef CallState * @syscap SystemCapability.Telephony.StateRegistry * @since 6 */ type CallState = call.CallState; /** * Indicates the SIM card types. * * @typedef CardType * @syscap SystemCapability.Telephony.StateRegistry * @since 6 */ type CardType = sim.CardType; /** * Indicates the SIM card states. * * @typedef SimState * @syscap SystemCapability.Telephony.StateRegistry * @since 6 */ type SimState = sim.SimState; /** * Callback when the network state corresponding to the default sim card is updated. * * @permission ohos.permission.GET_NETWORK_INFO * @param { 'networkStateChange' } type - Event type. Indicates the networkStateChange event to be subscribed to. * @param { Callback } callback - Indicates the callback for * getting an instance of the {@code NetworkState} class. * @throws { BusinessError } 201 - Permission denied. * @throws { BusinessError } 401 - Parameter error.Possible causes: 1. Mandatory parameters are left unspecified. * 2. Incorrect parameter types. * @throws { BusinessError } 8300001 - Invalid parameter value. * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service. * @throws { BusinessError } 8300003 - System internal error. * @throws { BusinessError } 8300999 - Unknown error code. * @syscap SystemCapability.Telephony.StateRegistry * @since 6 */ function on(type: 'networkStateChange', callback: Callback): void; /** * Callback when the network state corresponding to the monitored {@code slotId} is updated. * * @permission ohos.permission.GET_NETWORK_INFO * @param { 'networkStateChange' } type - Event type. Indicates the networkStateChange event to be subscribed to. * @param { object } options - Indicates the ID of the target card slot. * The value {@code 0} indicates card 1, and the value {@code 1} indicates card 2. * @param { Callback } callback - Indicates the callback for getting * an instance of the {@code NetworkState} class. * @throws { BusinessError } 201 - Permission denied. * @throws { BusinessError } 401 - Parameter error. * @throws { BusinessError } 8300001 - Invalid parameter value. * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service. * @throws { BusinessError } 8300003 - System internal error. * @throws { BusinessError } 8300999 - Unknown error code. * @syscap SystemCapability.Telephony.StateRegistry * @since 6 */ /** * Callback when the network state corresponding to the monitored {@code slotId} is updated. * * @permission ohos.permission.GET_NETWORK_INFO * @param { 'networkStateChange' } type - Event type. Indicates the networkStateChange event to be subscribed to. * @param { ObserverOptions } options - Indicates the options for observer. * @param { Callback } callback - Indicates the callback for getting * an instance of the {@code NetworkState} class. * @throws { BusinessError } 201 - Permission denied. * @throws { BusinessError } 401 - Parameter error.Possible causes: 1. Mandatory parameters are left unspecified. * 2. Incorrect parameter types. * @throws { BusinessError } 8300001 - Invalid parameter value. * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service. * @throws { BusinessError } 8300003 - System internal error. * @throws { BusinessError } 8300999 - Unknown error code. * @syscap SystemCapability.Telephony.StateRegistry * @since 11 */ function on(type: 'networkStateChange', options: ObserverOptions, callback: Callback): void; /** * Cancel callback when the network state is updated. * * @param { 'networkStateChange' } type - Event type. Indicates the networkStateChange event to unsubscribe from. * @param { Callback } callback - Indicates the callback for getting * an instance of the {@code NetworkState} class. * @throws { BusinessError } 401 - Parameter error.Possible causes: 1. Mandatory parameters are left unspecified. * 2. Incorrect parameter types. * @throws { BusinessError } 8300001 - Invalid parameter value. * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service. * @throws { BusinessError } 8300003 - System internal error. * @throws { BusinessError } 8300999 - Unknown error code. * @syscap SystemCapability.Telephony.StateRegistry * @since 6 */ function off(type: 'networkStateChange', callback?: Callback): void; /** * Callback when the signal strength corresponding to the default sim card is updated. * * @param { 'signalInfoChange' } type - Event type. Indicates the signalInfoChange event to be subscribed to. * @param { Callback> } callback - Indicates the callback for getting * an array of instances of the classes derived from {@link SignalInformation}. * @throws { BusinessError } 401 - Parameter error.Possible causes: 1. Mandatory parameters are left unspecified. * 2. Incorrect parameter types. * @throws { BusinessError } 8300001 - Invalid parameter value. * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service. * @throws { BusinessError } 8300003 - System internal error. * @throws { BusinessError } 8300999 - Unknown error code. * @syscap SystemCapability.Telephony.StateRegistry * @since 6 */ function on(type: 'signalInfoChange', callback: Callback>): void; /** * Callback when the signal strength corresponding to a monitored {@code slotId} is updated. * * @param { 'signalInfoChange' } type - Event type. Indicates the signalInfoChange event to be subscribed to. * @param { object } options - Indicates the ID of the target card slot. * The value {@code 0} indicates card 1, and the value {@code 1} indicates card 2. * @param { Callback> } callback - Indicates the callback for getting * an array of instances of the classes derived from {@link SignalInformation}. * @throws { BusinessError } 401 - Parameter error. * @throws { BusinessError } 8300001 - Invalid parameter value. * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service. * @throws { BusinessError } 8300003 - System internal error. * @throws { BusinessError } 8300999 - Unknown error code. * @syscap SystemCapability.Telephony.StateRegistry * @since 6 */ /** * Callback when the signal strength corresponding to a monitored {@code slotId} is updated. * * @param { 'signalInfoChange' } type - Event type. Indicates the signalInfoChange event to be subscribed to. * @param { ObserverOptions } options - Indicates the options for observer. * @param { Callback> } callback - Indicates the callback for getting * an array of instances of the classes derived from {@link SignalInformation}. * @throws { BusinessError } 401 - Parameter error.Possible causes: 1. Mandatory parameters are left unspecified. * 2. Incorrect parameter types. * @throws { BusinessError } 8300001 - Invalid parameter value. * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service. * @throws { BusinessError } 8300003 - System internal error. * @throws { BusinessError } 8300999 - Unknown error code. * @syscap SystemCapability.Telephony.StateRegistry * @since 11 */ function on(type: 'signalInfoChange', options: ObserverOptions, callback: Callback>): void; /** * Cancel callback when the signal strength is updated. * * @param { 'signalInfoChange' } type - Event type. Indicates the signalInfoChange event to unsubscribe from. * @param { Callback> } callback - Indicates the callback to unsubscribe from * the signalInfoChange event. * @throws { BusinessError } 401 - Parameter error.Possible causes: 1. Mandatory parameters are left unspecified. * 2. Incorrect parameter types. * @throws { BusinessError } 8300001 - Invalid parameter value. * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service. * @throws { BusinessError } 8300003 - System internal error. * @throws { BusinessError } 8300999 - Unknown error code. * @syscap SystemCapability.Telephony.StateRegistry * @since 6 */ function off(type: 'signalInfoChange', callback?: Callback>): void; /** * Callback when the cell information corresponding to the default sim card is updated. * * @permission ohos.permission.LOCATION and ohos.permission.APPROXIMATELY_LOCATION * @param { 'cellInfoChange' } type - Event type. Indicates the cellInfoChange event to be subscribed to. * @param { Callback> } callback - Indicates the callback for getting * an array of instances of the classes derived from {@link CellInformation}. * @throws { BusinessError } 201 - Permission denied. * @throws { BusinessError } 202 - Non-system applications use system APIs. * @throws { BusinessError } 401 - Parameter error.Possible causes: 1. Mandatory parameters are left unspecified. * 2. Incorrect parameter types. * @throws { BusinessError } 8300001 - Invalid parameter value. * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service. * @throws { BusinessError } 8300003 - System internal error. * @throws { BusinessError } 8300999 - Unknown error code. * @syscap SystemCapability.Telephony.StateRegistry * @systemapi Hide this for inner system use. * @since 8 */ function on(type: 'cellInfoChange', callback: Callback>): void; /** * Callback when the cell information corresponding to a monitored {@code slotId} is updated. * * @permission ohos.permission.LOCATION and ohos.permission.APPROXIMATELY_LOCATION * @param { 'cellInfoChange' } type - Event type. Indicates the cellInfoChange event to be subscribed to. * @param { object } options - Indicates the ID of the target card slot. * The value {@code 0} indicates card 1, and the value {@code 1} indicates card 2. * @param { Callback> } callback - Indicates the callback for getting * an array of instances of the classes derived from {@link CellInformation}. * @throws { BusinessError } 201 - Permission denied. * @throws { BusinessError } 202 - Non-system applications use system APIs. * @throws { BusinessError } 401 - Parameter error. * @throws { BusinessError } 8300001 - Invalid parameter value. * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service. * @throws { BusinessError } 8300003 - System internal error. * @throws { BusinessError } 8300999 - Unknown error code. * @syscap SystemCapability.Telephony.StateRegistry * @systemapi Hide this for inner system use. * @since 8 */ /** * Callback when the cell information corresponding to a monitored {@code slotId} is updated. * * @permission ohos.permission.LOCATION and ohos.permission.APPROXIMATELY_LOCATION * @param { 'cellInfoChange' } type - Event type. Indicates the cellInfoChange event to be subscribed to. * @param { ObserverOptions } options - Indicates the options for observer. * @param { Callback> } callback - Indicates the callback for getting * an array of instances of the classes derived from {@link CellInformation}. * @throws { BusinessError } 201 - Permission denied. * @throws { BusinessError } 202 - Non-system applications use system APIs. * @throws { BusinessError } 401 - Parameter error.Possible causes: 1. Mandatory parameters are left unspecified. * 2. Incorrect parameter types. * @throws { BusinessError } 8300001 - Invalid parameter value. * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service. * @throws { BusinessError } 8300003 - System internal error. * @throws { BusinessError } 8300999 - Unknown error code. * @syscap SystemCapability.Telephony.StateRegistry * @systemapi Hide this for inner system use. * @since 11 */ function on(type: 'cellInfoChange', options: ObserverOptions, callback: Callback>): void; /** * Cancel callback when the cell information is updated. * * @param { 'cellInfoChange' } type - Event type. Indicates the cellInfoChange event to unsubscribe from. * @param { Callback> } callback - Indicates the callback to unsubscribe from * the cellInfoChange event. * @throws { BusinessError } 202 - Non-system applications use system APIs. * @throws { BusinessError } 401 - Parameter error.Possible causes: 1. Mandatory parameters are left unspecified. * 2. Incorrect parameter types. * @throws { BusinessError } 8300001 - Invalid parameter value. * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service. * @throws { BusinessError } 8300003 - System internal error. * @throws { BusinessError } 8300999 - Unknown error code. * @syscap SystemCapability.Telephony.StateRegistry * @systemapi Hide this for inner system use. * @since 8 */ function off(type: 'cellInfoChange', callback?: Callback>): void; /** * Callback when the cellular data link connection state corresponding to the default sim card is updated. * * @param { 'cellularDataConnectionStateChange' } type - Event type. Indicates the cellularDataConnectionStateChange * event to be subscribed to. * @param { Callback<{ state: DataConnectState, network: RatType }> } callback - Indicates the callback for * getting the cellular data link connection state, and networkType Indicates the radio access technology * for cellular data services. * @throws { BusinessError } 401 - Parameter error. * @throws { BusinessError } 8300001 - Invalid parameter value. * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service. * @throws { BusinessError } 8300003 - System internal error. * @throws { BusinessError } 8300999 - Unknown error code. * @syscap SystemCapability.Telephony.StateRegistry * @since 7 */ /** * Callback when the cellular data link connection state corresponding to the default sim card is updated. * * @param { 'cellularDataConnectionStateChange' } type - Event type. Indicates the cellularDataConnectionStateChange * event to be subscribed to. * @param { Callback } callback - Indicates the callback for * getting the cellular data link connection state, and networkType Indicates the radio access technology * for cellular data services. * @throws { BusinessError } 401 - Parameter error.Possible causes: 1. Mandatory parameters are left unspecified. * 2. Incorrect parameter types. * @throws { BusinessError } 8300001 - Invalid parameter value. * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service. * @throws { BusinessError } 8300003 - System internal error. * @throws { BusinessError } 8300999 - Unknown error code. * @syscap SystemCapability.Telephony.StateRegistry * @since 11 */ function on(type: 'cellularDataConnectionStateChange', callback: Callback): void; /** * Callback when the cellular data link connection state corresponding to the monitored {@code slotId} is updated. * * @param { 'cellularDataConnectionStateChange' } type - Event type. Indicates the cellularDataConnectionStateChange * event to be subscribed to. * @param { object } options - Indicates the ID of the target card slot. * The value {@code 0} indicates card 1, and the value {@code 1} indicates card 2. * @param { Callback<{ state: DataConnectState, network: RatType }> } callback - Indicates the callback for * getting the cellular data link connection state, and networkType Indicates the radio access technology for * cellular data services. * @throws { BusinessError } 401 - Parameter error. * @throws { BusinessError } 8300001 - Invalid parameter value. * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service. * @throws { BusinessError } 8300003 - System internal error. * @throws { BusinessError } 8300999 - Unknown error code. * @syscap SystemCapability.Telephony.StateRegistry * @since 7 */ /** * Callback when the cellular data link connection state corresponding to the monitored {@code slotId} is updated. * * @param { 'cellularDataConnectionStateChange' } type - Event type. Indicates the cellularDataConnectionStateChange * event to be subscribed to. * @param { ObserverOptions } options - Indicates the options for observer. * @param { Callback } callback - Indicates the callback for * getting the cellular data link connection state, and networkType Indicates the radio access technology for * cellular data services. * @throws { BusinessError } 401 - Parameter error.Possible causes: 1. Mandatory parameters are left unspecified. * 2. Incorrect parameter types. * @throws { BusinessError } 8300001 - Invalid parameter value. * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service. * @throws { BusinessError } 8300003 - System internal error. * @throws { BusinessError } 8300999 - Unknown error code. * @syscap SystemCapability.Telephony.StateRegistry * @since 11 */ function on(type: 'cellularDataConnectionStateChange', options: ObserverOptions, callback: Callback): void; /** * Cancel callback when the cellular data link connection state is updated. * * @param { 'cellularDataConnectionStateChange' } type - Event type. Indicates the cellularDataConnectionStateChange * event to unsubscribe from. * @param { Callback<{ state: DataConnectState, network: RatType }> } callback - Indicates the callback to unsubscribe * from the cellularDataConnectionStateChange event. * @throws { BusinessError } 401 - Parameter error. * @throws { BusinessError } 8300001 - Invalid parameter value. * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service. * @throws { BusinessError } 8300003 - System internal error. * @throws { BusinessError } 8300999 - Unknown error code. * @syscap SystemCapability.Telephony.StateRegistry * @since 7 */ /** * Cancel callback when the cellular data link connection state is updated. * * @param { 'cellularDataConnectionStateChange' } type - Event type. Indicates the cellularDataConnectionStateChange * event to unsubscribe from. * @param { Callback } callback - Indicates the callback to unsubscribe * from the cellularDataConnectionStateChange event. * @throws { BusinessError } 401 - Parameter error.Possible causes: 1. Mandatory parameters are left unspecified. * 2. Incorrect parameter types. * @throws { BusinessError } 8300001 - Invalid parameter value. * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service. * @throws { BusinessError } 8300003 - System internal error. * @throws { BusinessError } 8300999 - Unknown error code. * @syscap SystemCapability.Telephony.StateRegistry * @since 11 */ function off(type: 'cellularDataConnectionStateChange', callback?: Callback): void; /** * Callback when the uplink and downlink data flow state of cellular data services * corresponding to the default sim card is updated. * * @param { 'cellularDataFlowChange' } type - Event type. Indicates the cellularDataFlowChange event to be subscribed to. * @param { Callback } callback - Indicates the callback for getting the cellular data flow state. * @throws { BusinessError } 401 - Parameter error.Possible causes: 1. Mandatory parameters are left unspecified. * 2. Incorrect parameter types. * @throws { BusinessError } 8300001 - Invalid parameter value. * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service. * @throws { BusinessError } 8300003 - System internal error. * @throws { BusinessError } 8300999 - Unknown error code. * @syscap SystemCapability.Telephony.StateRegistry * @since 7 */ function on(type: 'cellularDataFlowChange', callback: Callback): void; /** * Callback when the uplink and downlink data flow state of cellular data services * corresponding to the monitored {@code slotId} is updated. * * @param { 'cellularDataFlowChange' } type - Event type. Indicates the cellularDataFlowChange event to be subscribed to. * @param { object } options - Indicates the ID of the target card slot. * The value {@code 0} indicates card 1, and the value {@code 1} indicates card 2. * @param { Callback } callback - Indicates the callback for getting the cellular data flow state. * @throws { BusinessError } 401 - Parameter error. * @throws { BusinessError } 8300001 - Invalid parameter value. * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service. * @throws { BusinessError } 8300003 - System internal error. * @throws { BusinessError } 8300999 - Unknown error code. * @syscap SystemCapability.Telephony.StateRegistry * @since 7 */ /** * Callback when the uplink and downlink data flow state of cellular data services * corresponding to the monitored {@code slotId} is updated. * * @param { 'cellularDataFlowChange' } type - Event type. Indicates the cellularDataFlowChange event to be subscribed to. * @param { ObserverOptions } options - Indicates the options for observer. * @param { Callback } callback - Indicates the callback for getting the cellular data flow state. * @throws { BusinessError } 401 - Parameter error.Possible causes: 1. Mandatory parameters are left unspecified. * 2. Incorrect parameter types. * @throws { BusinessError } 8300001 - Invalid parameter value. * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service. * @throws { BusinessError } 8300003 - System internal error. * @throws { BusinessError } 8300999 - Unknown error code. * @syscap SystemCapability.Telephony.StateRegistry * @since 11 */ function on(type: 'cellularDataFlowChange', options: ObserverOptions, callback: Callback): void; /** * Cancel callback when the uplink and downlink data flow state of cellular data services is updated. * * @param { 'cellularDataFlowChange' } type - Event type. Indicates the cellularDataFlowChange event to unsubscribe from. * @param { Callback } callback - Indicates the callback to unsubscribe from * the cellularDataFlowChange event. * @throws { BusinessError } 401 - Parameter error.Possible causes: 1. Mandatory parameters are left unspecified. * 2. Incorrect parameter types. * @throws { BusinessError } 8300001 - Invalid parameter value. * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service. * @throws { BusinessError } 8300003 - System internal error. * @throws { BusinessError } 8300999 - Unknown error code. * @syscap SystemCapability.Telephony.StateRegistry * @since 7 */ function off(type: 'cellularDataFlowChange', callback?: Callback): void; /** * Callback when the call state corresponding to the default sim card is updated. * * @param { 'callStateChange' } type - Event type. Indicates the callStateChange event to be subscribed to. * @param { Callback<{ state: CallState, number: string }> } callback - Indicates the callback for * getting the call state and the called number. * @throws { BusinessError } 401 - Parameter error. * @throws { BusinessError } 8300001 - Invalid parameter value. * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service. * @throws { BusinessError } 8300003 - System internal error. * @throws { BusinessError } 8300999 - Unknown error code. * @syscap SystemCapability.Telephony.StateRegistry * @since 6 */ /** * Callback when the call state corresponding to the default sim card is updated. * * @param { 'callStateChange' } type - Event type. Indicates the callStateChange event to be subscribed to. * @param { Callback } callback - Indicates the callback for * getting the call state and the called number. * @throws { BusinessError } 401 - Parameter error.Possible causes: 1. Mandatory parameters are left unspecified. * 2. Incorrect parameter types. * @throws { BusinessError } 8300001 - Invalid parameter value. * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service. * @throws { BusinessError } 8300003 - System internal error. * @throws { BusinessError } 8300999 - Unknown error code. * @syscap SystemCapability.Telephony.StateRegistry * @since 11 */ function on(type: 'callStateChange', callback: Callback): void; /** * Callback when the call state corresponding to the monitored {@code slotId} is updated. * * @param { 'callStateChange' } type - Event type. Indicates the callStateChange event to be subscribed to. * @param { object } options - Indicates the ID of the target card slot. * The value {@code 0} indicates card 1, and the value {@code 1} indicates card 2. * @param { Callback<{ state: CallState, number: string }> } callback - Indicates the callback for * getting the call state and the called number. * @throws { BusinessError } 401 - Parameter error. * @throws { BusinessError } 8300001 - Invalid parameter value. * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service. * @throws { BusinessError } 8300003 - System internal error. * @throws { BusinessError } 8300999 - Unknown error code. * @syscap SystemCapability.Telephony.StateRegistry * @since 6 */ /** * Callback when the call state corresponding to the monitored {@code slotId} is updated. * * @param { 'callStateChange' } type - Event type. Indicates the callStateChange event to be subscribed to. * @param { ObserverOptions } options - Indicates the options for observer. * @param { Callback } callback - Indicates the callback for * getting the call state and the called number. * @throws { BusinessError } 401 - Parameter error.Possible causes: 1. Mandatory parameters are left unspecified. * 2. Incorrect parameter types. * @throws { BusinessError } 8300001 - Invalid parameter value. * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service. * @throws { BusinessError } 8300003 - System internal error. * @throws { BusinessError } 8300999 - Unknown error code. * @syscap SystemCapability.Telephony.StateRegistry * @since 11 */ function on(type: 'callStateChange', options: ObserverOptions, callback: Callback): void; /** * Cancel callback when the call state is updated. * * @param { 'callStateChange' } type - Event type. Indicates the callStateChange event to unsubscribe from. * @param { Callback<{ state: CallState, number: string }> } callback - Indicates the callback to * unsubscribe from the callStateChange event. * @throws { BusinessError } 401 - Parameter error. * @throws { BusinessError } 8300001 - Invalid parameter value. * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service. * @throws { BusinessError } 8300003 - System internal error. * @throws { BusinessError } 8300999 - Unknown error code. * @syscap SystemCapability.Telephony.StateRegistry * @since 6 */ /** * Cancel callback when the call state is updated. * * @param { 'callStateChange' } type - Event type. Indicates the callStateChange event to unsubscribe from. * @param { Callback } callback - Indicates the callback to * unsubscribe from the callStateChange event. * @throws { BusinessError } 401 - Parameter error.Possible causes: 1. Mandatory parameters are left unspecified. * 2. Incorrect parameter types. * @throws { BusinessError } 8300001 - Invalid parameter value. * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service. * @throws { BusinessError } 8300003 - System internal error. * @throws { BusinessError } 8300999 - Unknown error code. * @syscap SystemCapability.Telephony.StateRegistry * @since 11 */ function off(type: 'callStateChange', callback?: Callback): void; /** * Callback when the sim state corresponding to the default sim card is updated. * * @param { 'simStateChange' } type - Event type. Indicates the simStateChange event to be subscribed to. * @param { Callback } callback - Indicates the callback for getting the SimStateData object. * including state Indicates the sim state, and reason Indicates the cause of the change. * @throws { BusinessError } 401 - Parameter error.Possible causes: 1. Mandatory parameters are left unspecified. * 2. Incorrect parameter types. * @throws { BusinessError } 8300001 - Invalid parameter value. * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service. * @throws { BusinessError } 8300003 - System internal error. * @throws { BusinessError } 8300999 - Unknown error code. * @syscap SystemCapability.Telephony.StateRegistry * @since 7 */ function on(type: 'simStateChange', callback: Callback): void; /** * Callback when the sim state corresponding to the monitored {@code slotId} is updated. * * @param { 'simStateChange' } type - Event type. Indicates the simStateChange event to be subscribed to. * @param { object } options - Indicates the ID of the target card slot. * The value {@code 0} indicates card 1, and the value {@code 1} indicates card 2. * @param { Callback } callback - Indicates the callback for getting the SimStateData object. * @throws { BusinessError } 401 - Parameter error. * @throws { BusinessError } 8300001 - Invalid parameter value. * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service. * @throws { BusinessError } 8300003 - System internal error. * @throws { BusinessError } 8300999 - Unknown error code. * @syscap SystemCapability.Telephony.StateRegistry * @since 7 */ /** * Callback when the sim state corresponding to the monitored {@code slotId} is updated. * * @param { 'simStateChange' } type - Event type. Indicates the simStateChange event to be subscribed to. * @param { ObserverOptions } options - Indicates the options for observer. * @param { Callback } callback - Indicates the callback for getting the SimStateData object. * @throws { BusinessError } 401 - Parameter error.Possible causes: 1. Mandatory parameters are left unspecified. * 2. Incorrect parameter types. * @throws { BusinessError } 8300001 - Invalid parameter value. * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service. * @throws { BusinessError } 8300003 - System internal error. * @throws { BusinessError } 8300999 - Unknown error code. * @syscap SystemCapability.Telephony.StateRegistry * @since 11 */ function on(type: 'simStateChange', options: ObserverOptions, callback: Callback): void; /** * Cancel callback when the sim state is updated. * * @param { 'simStateChange' } type - Event type. Indicates the simStateChange event to unsubscribe from. * @param { Callback } callback - Indicates the callback to unsubscribe from the simStateChange event. * @throws { BusinessError } 401 - Parameter error.Possible causes: 1. Mandatory parameters are left unspecified. * 2. Incorrect parameter types. * @throws { BusinessError } 8300001 - Invalid parameter value. * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service. * @throws { BusinessError } 8300003 - System internal error. * @throws { BusinessError } 8300999 - Unknown error code. * @syscap SystemCapability.Telephony.StateRegistry * @since 7 */ function off(type: 'simStateChange', callback?: Callback): void; /** * Receives an ICC account change. This callback is invoked when the ICC account updates * and the observer is added to monitor the updates. * * @param { 'iccAccountInfoChange' } type - iccAccountInfoChange * @param { Callback } callback - including state Indicates the ICC account information, * and reason Indicates the cause of the change. * @throws { BusinessError } 401 - Parameter error.Possible causes: 1. Mandatory parameters are left unspecified. * 2. Incorrect parameter types. * @throws { BusinessError } 8300001 - Invalid parameter value. * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service. * @throws { BusinessError } 8300003 - System internal error. * @throws { BusinessError } 8300999 - Unknown error code. * @syscap SystemCapability.Telephony.StateRegistry * @since 10 */ function on(type: 'iccAccountInfoChange', callback: Callback): void; /** * Cancel to receive an ICC account change. * * @param { 'iccAccountInfoChange' } type - iccAccountInfoChange * @param { Callback } callback - including state Indicates the ICC account information, * and reason Indicates the cause of the change. * @throws { BusinessError } 401 - Parameter error.Possible causes: 1. Mandatory parameters are left unspecified. * 2. Incorrect parameter types. * @throws { BusinessError } 8300001 - Invalid parameter value. * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service. * @throws { BusinessError } 8300003 - System internal error. * @throws { BusinessError } 8300999 - Unknown error code. * @syscap SystemCapability.Telephony.StateRegistry * @since 10 */ function off(type: 'iccAccountInfoChange', callback?: Callback): void; /** * Indicates SIM card type and status. * * @interface SimStateData * @syscap SystemCapability.Telephony.StateRegistry * @since 7 */ export interface SimStateData { /** * Indicates the SIM card type. * * @type { CardType } * @syscap SystemCapability.Telephony.StateRegistry * @since 7 */ type: CardType; /** * Indicates the SIM card states. * * @type { SimState } * @syscap SystemCapability.Telephony.StateRegistry * @since 7 */ state: SimState; /** * Indicates the SIM card lock type. * * @type { LockReason } * @syscap SystemCapability.Telephony.StateRegistry * @since 8 */ reason: LockReason; } /** * Indicates call state and number. * * @interface CallStateInfo * @syscap SystemCapability.Telephony.StateRegistry * @since 11 */ export interface CallStateInfo { /** * Indicates call state. * * @type { CallState } * @syscap SystemCapability.Telephony.StateRegistry * @since 11 */ state: CallState; /** * Indicates call number. * * @type { string } * @syscap SystemCapability.Telephony.StateRegistry * @since 11 */ number: string; } /** * Indicates cellular data connect state and technology type. * * @interface DataConnectionStateInfo * @syscap SystemCapability.Telephony.StateRegistry * @since 11 */ export interface DataConnectionStateInfo { /** * Indicates cellular data connect state. * * @type { DataConnectState } * @syscap SystemCapability.Telephony.StateRegistry * @since 11 */ state: DataConnectState; /** * Indicates technology type. * * @type { RatType } * @syscap SystemCapability.Telephony.StateRegistry * @since 11 */ network: RatType; } /** * Indicates observer options. * * @interface ObserverOptions * @syscap SystemCapability.Telephony.StateRegistry * @since 11 */ export interface ObserverOptions { /** * Indicates the ID of the target card slot. * * @type { number } * @syscap SystemCapability.Telephony.StateRegistry * @since 11 */ slotId: number; } /** * Enum for SIM card lock type. * * @enum { number } * @syscap SystemCapability.Telephony.StateRegistry * @since 8 */ export enum LockReason { /** * Indicates no SIM lock. * * @syscap SystemCapability.Telephony.StateRegistry * @since 8 */ SIM_NONE, /** * Indicates the PIN lock. * * @syscap SystemCapability.Telephony.StateRegistry * @since 8 */ SIM_PIN, /** * Indicates the PUK lock. * * @syscap SystemCapability.Telephony.StateRegistry * @since 8 */ SIM_PUK, /** * Indicates network personalization of PIN lock(refer 3GPP TS 22.022 [33]). * * @syscap SystemCapability.Telephony.StateRegistry * @since 8 */ SIM_PN_PIN, /** * Indicates network personalization of PUK lock(refer 3GPP TS 22.022 [33]). * * @syscap SystemCapability.Telephony.StateRegistry * @since 8 */ SIM_PN_PUK, /** * Indicates network subset personalization of PIN lock(refer 3GPP TS 22.022 [33]). * * @syscap SystemCapability.Telephony.StateRegistry * @since 8 */ SIM_PU_PIN, /** * Indicates network subset personalization of PUK lock(refer 3GPP TS 22.022 [33]). * * @syscap SystemCapability.Telephony.StateRegistry * @since 8 */ SIM_PU_PUK, /** * Indicates service provider personalization of PIN lock(refer 3GPP TS 22.022 [33]). * * @syscap SystemCapability.Telephony.StateRegistry * @since 8 */ SIM_PP_PIN, /** * Indicates service provider personalization of PUK lock(refer 3GPP TS 22.022 [33]). * * @syscap SystemCapability.Telephony.StateRegistry * @since 8 */ SIM_PP_PUK, /** * Indicates corporate personalization of PIN lock(refer 3GPP TS 22.022 [33]). * * @syscap SystemCapability.Telephony.StateRegistry * @since 8 */ SIM_PC_PIN, /** * Indicates corporate personalization of PUK lock(refer 3GPP TS 22.022 [33]). * * @syscap SystemCapability.Telephony.StateRegistry * @since 8 */ SIM_PC_PUK, /** * Indicates SIM/USIM personalization of PIN lock(refer 3GPP TS 22.022 [33]). * * @syscap SystemCapability.Telephony.StateRegistry * @since 8 */ SIM_SIM_PIN, /** * Indicates SIM/USIM personalization of PUK lock(refer 3GPP TS 22.022 [33]). * * @syscap SystemCapability.Telephony.StateRegistry * @since 8 */ SIM_SIM_PUK, } } export default observer;