• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (C) 2021-2023 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 *     http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16/**
17 * @file
18 * @kit TelephonyKit
19 */
20
21import type { AsyncCallback, Callback } from './@ohos.base';
22
23/**
24 * Provides interfaces for applications to obtain the network state, cell information, signal information,
25 * and device ID of the wireless cellular network (WCN), and provides a callback registration mechanism to
26 * listen for changes of the network, cell, and signal status of the WCN.
27 *
28 * @namespace radio
29 * @syscap SystemCapability.Telephony.CoreService
30 * @since 6
31 */
32declare namespace radio {
33  /**
34   * Obtains radio access technology (RAT) of the registered network. The system
35   * returns RAT of the packet service (PS) and circuit service (CS) domain.
36   *
37   * @permission ohos.permission.GET_NETWORK_INFO
38   * @param { number } slotId - Indicates the card slot index number,
39   * ranging from 0 to the maximum card slot index number supported by the device.
40   * @param { AsyncCallback<{psRadioTech: RadioTechnology, csRadioTech: RadioTechnology}> } callback - Returns
41   * an integer indicating the RAT in use. The values are as follows:
42   * <ul>
43   * <li>{@code RadioTechnology#RADIO_TECHNOLOGY_UNKNOWN}
44   * <li>{@code RadioTechnology#RADIO_TECHNOLOGY_GSM}
45   * <li>{@code RadioTechnology#RADIO_TECHNOLOGY_1XRTT}
46   * <li>{@code RadioTechnology#RADIO_TECHNOLOGY_WCDMA}
47   * <li>{@code RadioTechnology#RADIO_TECHNOLOGY_HSPA}
48   * <li>{@code RadioTechnology#RADIO_TECHNOLOGY_HSPAP}
49   * <li>{@code RadioTechnology#RADIO_TECHNOLOGY_TD_SCDMA}
50   * <li>{@code RadioTechnology#RADIO_TECHNOLOGY_EVDO}
51   * <li>{@code RadioTechnology#RADIO_TECHNOLOGY_EHRPD}
52   * <li>{@code RadioTechnology#RADIO_TECHNOLOGY_LTE}
53   * <li>{@code RadioTechnology#RADIO_TECHNOLOGY_LTE_CA}
54   * <li>{@code RadioTechnology#RADIO_TECHNOLOGY_IWLAN}
55   * <li>{@code RadioTechnology#RADIO_TECHNOLOGY_NR}
56   * </ul>
57   * @throws { BusinessError } 201 - Permission denied.
58   * @throws { BusinessError } 401 - Parameter error.
59   * @throws { BusinessError } 8300001 - Invalid parameter value.
60   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
61   * @throws { BusinessError } 8300003 - System internal error.
62   * @throws { BusinessError } 8300999 - Unknown error code.
63   * @syscap SystemCapability.Telephony.CoreService
64   * @since 6
65   */
66  /**
67   * Obtains radio access technology (RAT) of the registered network. The system
68   * returns RAT of the packet service (PS) and circuit service (CS) domain.
69   *
70   * @permission ohos.permission.GET_NETWORK_INFO
71   * @param { number } slotId - Indicates the card slot index number,
72   * ranging from 0 to the maximum card slot index number supported by the device.
73   * @param { AsyncCallback<NetworkRadioTech> } callback - Returns
74   * the RAT of PS domain and CS domain of registered network.
75   * The values of RAT are as follows:
76   * <ul>
77   * <li>{@code RadioTechnology#RADIO_TECHNOLOGY_UNKNOWN}
78   * <li>{@code RadioTechnology#RADIO_TECHNOLOGY_GSM}
79   * <li>{@code RadioTechnology#RADIO_TECHNOLOGY_1XRTT}
80   * <li>{@code RadioTechnology#RADIO_TECHNOLOGY_WCDMA}
81   * <li>{@code RadioTechnology#RADIO_TECHNOLOGY_HSPA}
82   * <li>{@code RadioTechnology#RADIO_TECHNOLOGY_HSPAP}
83   * <li>{@code RadioTechnology#RADIO_TECHNOLOGY_TD_SCDMA}
84   * <li>{@code RadioTechnology#RADIO_TECHNOLOGY_EVDO}
85   * <li>{@code RadioTechnology#RADIO_TECHNOLOGY_EHRPD}
86   * <li>{@code RadioTechnology#RADIO_TECHNOLOGY_LTE}
87   * <li>{@code RadioTechnology#RADIO_TECHNOLOGY_LTE_CA}
88   * <li>{@code RadioTechnology#RADIO_TECHNOLOGY_IWLAN}
89   * <li>{@code RadioTechnology#RADIO_TECHNOLOGY_NR}
90   * </ul>
91   * @throws { BusinessError } 201 - Permission denied.
92   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
93   * 2. Incorrect parameter types.
94   * @throws { BusinessError } 8300001 - Invalid parameter value.
95   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
96   * @throws { BusinessError } 8300003 - System internal error.
97   * @throws { BusinessError } 8300999 - Unknown error code.
98   * @syscap SystemCapability.Telephony.CoreService
99   * @since 11
100   */
101  function getRadioTech(slotId: number, callback: AsyncCallback<NetworkRadioTech>): void;
102
103  /**
104   * Obtains radio access technology (RAT) of the registered network. The system
105   * returns RAT of the packet service (PS) and circuit service (CS) domain.
106   *
107   * @permission ohos.permission.GET_NETWORK_INFO
108   * @param { number } slotId - Indicates the card slot index number,
109   * ranging from 0 to the maximum card slot index number supported by the device.
110   * @returns { Promise<{psRadioTech: RadioTechnology, csRadioTech: RadioTechnology}> } Returns
111   * the enumeration of RadioTechnology. The values are as follows:
112   * <ul>
113   * <li>{@code RadioTechnology#RADIO_TECHNOLOGY_UNKNOWN}
114   * <li>{@code RadioTechnology#RADIO_TECHNOLOGY_GSM}
115   * <li>{@code RadioTechnology#RADIO_TECHNOLOGY_1XRTT}
116   * <li>{@code RadioTechnology#RADIO_TECHNOLOGY_WCDMA}
117   * <li>{@code RadioTechnology#RADIO_TECHNOLOGY_HSPA}
118   * <li>{@code RadioTechnology#RADIO_TECHNOLOGY_HSPAP}
119   * <li>{@code RadioTechnology#RADIO_TECHNOLOGY_TD_SCDMA}
120   * <li>{@code RadioTechnology#RADIO_TECHNOLOGY_EVDO}
121   * <li>{@code RadioTechnology#RADIO_TECHNOLOGY_EHRPD}
122   * <li>{@code RadioTechnology#RADIO_TECHNOLOGY_LTE}
123   * <li>{@code RadioTechnology#RADIO_TECHNOLOGY_LTE_CA}
124   * <li>{@code RadioTechnology#RADIO_TECHNOLOGY_IWLAN}
125   * <li>{@code RadioTechnology#RADIO_TECHNOLOGY_NR}
126   * </ul>
127   * @throws { BusinessError } 201 - Permission denied.
128   * @throws { BusinessError } 401 - Parameter error.
129   * @throws { BusinessError } 8300001 - Invalid parameter value.
130   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
131   * @throws { BusinessError } 8300003 - System internal error.
132   * @throws { BusinessError } 8300999 - Unknown error code.
133   * @syscap SystemCapability.Telephony.CoreService
134   * @since 6
135   */
136  /**
137   * Obtains radio access technology (RAT) of the registered network. The system
138   * returns RAT of the packet service (PS) and circuit service (CS) domain.
139   *
140   * @permission ohos.permission.GET_NETWORK_INFO
141   * @param { number } slotId - Indicates the card slot index number,
142   * ranging from 0 to the maximum card slot index number supported by the device.
143   * @returns { Promise<NetworkRadioTech> } Returns the RAT of PS domain and CS domain of registered network.
144   * The values of RAT are as follows:
145   * <ul>
146   * <li>{@code RadioTechnology#RADIO_TECHNOLOGY_UNKNOWN}
147   * <li>{@code RadioTechnology#RADIO_TECHNOLOGY_GSM}
148   * <li>{@code RadioTechnology#RADIO_TECHNOLOGY_1XRTT}
149   * <li>{@code RadioTechnology#RADIO_TECHNOLOGY_WCDMA}
150   * <li>{@code RadioTechnology#RADIO_TECHNOLOGY_HSPA}
151   * <li>{@code RadioTechnology#RADIO_TECHNOLOGY_HSPAP}
152   * <li>{@code RadioTechnology#RADIO_TECHNOLOGY_TD_SCDMA}
153   * <li>{@code RadioTechnology#RADIO_TECHNOLOGY_EVDO}
154   * <li>{@code RadioTechnology#RADIO_TECHNOLOGY_EHRPD}
155   * <li>{@code RadioTechnology#RADIO_TECHNOLOGY_LTE}
156   * <li>{@code RadioTechnology#RADIO_TECHNOLOGY_LTE_CA}
157   * <li>{@code RadioTechnology#RADIO_TECHNOLOGY_IWLAN}
158   * <li>{@code RadioTechnology#RADIO_TECHNOLOGY_NR}
159   * </ul>
160   * @throws { BusinessError } 201 - Permission denied.
161   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
162   * 2. Incorrect parameter types.
163   * @throws { BusinessError } 8300001 - Invalid parameter value.
164   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
165   * @throws { BusinessError } 8300003 - System internal error.
166   * @throws { BusinessError } 8300999 - Unknown error code.
167   * @syscap SystemCapability.Telephony.CoreService
168   * @since 11
169   */
170  function getRadioTech(slotId: number): Promise<NetworkRadioTech>;
171
172  /**
173   * Obtains radio access technology (RAT) of the registered network.
174   *
175   * @permission ohos.permission.GET_NETWORK_INFO
176   * @param { number } slotId - Indicates the card slot index number,
177   * ranging from 0 to the maximum card slot index number supported by the device.
178   * @returns { NetworkRadioTech } Returns the RAT of PS domain and CS domain of registered network.
179   * @syscap SystemCapability.Telephony.CoreService
180   * @since 16
181   */
182  function getRadioTechSync(slotId: number): NetworkRadioTech;
183
184  /**
185   * Obtains the network state of the registered network.
186   *
187   * @permission ohos.permission.GET_NETWORK_INFO
188   * @param { number } slotId - Indicates the card slot index number,
189   * ranging from 0 to the maximum card slot index number supported by the device.
190   * @param { AsyncCallback<NetworkState> } callback - Indicates the callback for getting network registration state.
191   * @throws { BusinessError } 201 - Permission denied.
192   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
193   * 2. Incorrect parameter types.
194   * @throws { BusinessError } 8300001 - Invalid parameter value.
195   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
196   * @throws { BusinessError } 8300003 - System internal error.
197   * @throws { BusinessError } 8300999 - Unknown error code.
198   * @syscap SystemCapability.Telephony.CoreService
199   * @since 6
200   */
201  function getNetworkState(slotId: number, callback: AsyncCallback<NetworkState>): void;
202
203  /**
204   * Obtains the network state of the registered network.
205   *
206   * @permission ohos.permission.GET_NETWORK_INFO
207   * @param { number } slotId - Indicates the card slot index number,
208   * ranging from 0 to the maximum card slot index number supported by the device.
209   * @returns { Promise<NetworkState> } Returns the NetworkState object.
210   * @throws { BusinessError } 201 - Permission denied.
211   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
212   * 2. Incorrect parameter types.
213   * @throws { BusinessError } 8300001 - Invalid parameter value.
214   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
215   * @throws { BusinessError } 8300003 - System internal error.
216   * @throws { BusinessError } 8300999 - Unknown error code.
217   * @syscap SystemCapability.Telephony.CoreService
218   * @since 6
219   */
220  function getNetworkState(slotId?: number): Promise<NetworkState>;
221
222  /**
223   * Obtains the network state of the registered network.
224   *
225   * @permission ohos.permission.GET_NETWORK_INFO
226   * @param { AsyncCallback<NetworkState> } callback - Indicates the callback for getting network registration state.
227   * @throws { BusinessError } 201 - Permission denied.
228   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
229   * 2. Incorrect parameter types.
230   * @throws { BusinessError } 8300001 - Invalid parameter value.
231   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
232   * @throws { BusinessError } 8300003 - System internal error.
233   * @throws { BusinessError } 8300999 - Unknown error code.
234   * @syscap SystemCapability.Telephony.CoreService
235   * @since 6
236   */
237  function getNetworkState(callback: AsyncCallback<NetworkState>): void;
238
239  /**
240   * Actively requests to update location information.
241   *
242   * @permission ohos.permission.LOCATION and ohos.permission.APPROXIMATELY_LOCATION
243   * @param { number } slotId - Indicates the card slot index number, ranging from 0 to the maximum card slot
244   * index number supported by the device.
245   * @param { AsyncCallback<void> } callback - The callback of sendUpdateCellLocationRequest.
246   * @throws { BusinessError } 201 - Permission denied.
247   * @throws { BusinessError } 202 - Non-system applications use system APIs.
248   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
249   * 2. Incorrect parameter types.
250   * @throws { BusinessError } 8300001 - Invalid parameter value.
251   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
252   * @throws { BusinessError } 8300003 - System internal error.
253   * @throws { BusinessError } 8300999 - Unknown error code.
254   * @syscap SystemCapability.Telephony.CoreService
255   * @systemapi Hide this for inner system use.
256   * @since 8
257   */
258  function sendUpdateCellLocationRequest(slotId: number, callback: AsyncCallback<void>): void;
259
260  /**
261   * Actively requests to update location information.
262   *
263   * @permission ohos.permission.LOCATION and ohos.permission.APPROXIMATELY_LOCATION
264   * @param { number } slotId - Indicates the card slot index number, ranging from 0 to the maximum card slot
265   * index number supported by the device.
266   * @returns { Promise<void> } The promise returned by the sendUpdateCellLocationRequest.
267   * @throws { BusinessError } 201 - Permission denied.
268   * @throws { BusinessError } 202 - Non-system applications use system APIs.
269   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
270   * 2. Incorrect parameter types.
271   * @throws { BusinessError } 8300001 - Invalid parameter value.
272   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
273   * @throws { BusinessError } 8300003 - System internal error.
274   * @throws { BusinessError } 8300999 - Unknown error code.
275   * @syscap SystemCapability.Telephony.CoreService
276   * @systemapi Hide this for inner system use.
277   * @since 8
278   */
279  function sendUpdateCellLocationRequest(slotId?: number): Promise<void>;
280
281  /**
282   * Actively requests to update location information.
283   *
284   * @permission ohos.permission.LOCATION and ohos.permission.APPROXIMATELY_LOCATION
285   * @param { AsyncCallback<void> } callback - The callback of sendUpdateCellLocationRequest.
286   * @throws { BusinessError } 201 - Permission denied.
287   * @throws { BusinessError } 202 - Non-system applications use system APIs.
288   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
289   * 2. Incorrect parameter types.
290   * @throws { BusinessError } 8300001 - Invalid parameter value.
291   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
292   * @throws { BusinessError } 8300003 - System internal error.
293   * @throws { BusinessError } 8300999 - Unknown error code.
294   * @syscap SystemCapability.Telephony.CoreService
295   * @systemapi Hide this for inner system use.
296   * @since 8
297   */
298  function sendUpdateCellLocationRequest(callback: AsyncCallback<void>): void;
299
300  /**
301   * Get the current cell information.
302   *
303   * @permission ohos.permission.LOCATION and ohos.permission.APPROXIMATELY_LOCATION
304   * @param { number } slotId - Indicates the card slot index number, ranging from 0 to the maximum card slot
305   * index number supported by the device.
306   * @param { AsyncCallback<Array<CellInformation>> } callback - Indicates the callback for getting cell information.
307   * @throws { BusinessError } 201 - Permission denied.
308   * @throws { BusinessError } 202 - Non-system applications use system APIs.
309   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
310   * 2. Incorrect parameter types.
311   * @throws { BusinessError } 8300001 - Invalid parameter value.
312   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
313   * @throws { BusinessError } 8300003 - System internal error.
314   * @throws { BusinessError } 8300999 - Unknown error code.
315   * @syscap SystemCapability.Telephony.CoreService
316   * @systemapi Hide this for inner system use.
317   * @since 8
318   */
319  function getCellInformation(slotId: number, callback: AsyncCallback<Array<CellInformation>>): void;
320
321  /**
322   * Get the current cell information.
323   *
324   * @permission ohos.permission.LOCATION and ohos.permission.APPROXIMATELY_LOCATION
325   * @param { number } slotId - Indicates the card slot index number, ranging from 0 to the maximum card slot
326   * index number supported by the device.
327   * @returns { Promise<Array<CellInformation>> } Returns the current cell information.
328   * @throws { BusinessError } 201 - Permission denied.
329   * @throws { BusinessError } 202 - Non-system applications use system APIs.
330   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
331   * 2. Incorrect parameter types.
332   * @throws { BusinessError } 8300001 - Invalid parameter value.
333   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
334   * @throws { BusinessError } 8300003 - System internal error.
335   * @throws { BusinessError } 8300999 - Unknown error code.
336   * @syscap SystemCapability.Telephony.CoreService
337   * @systemapi Hide this for inner system use.
338   * @since 8
339   */
340  function getCellInformation(slotId?: number): Promise<Array<CellInformation>>;
341
342  /**
343   * Get the current cell information.
344   *
345   * @permission ohos.permission.LOCATION and ohos.permission.APPROXIMATELY_LOCATION
346   * @param { AsyncCallback<Array<CellInformation>> } callback - Indicates the callback for getting cell information.
347   * @throws { BusinessError } 201 - Permission denied.
348   * @throws { BusinessError } 202 - Non-system applications use system APIs.
349   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
350   * 2. Incorrect parameter types.
351   * @throws { BusinessError } 8300001 - Invalid parameter value.
352   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
353   * @throws { BusinessError } 8300003 - System internal error.
354   * @throws { BusinessError } 8300999 - Unknown error code.
355   * @syscap SystemCapability.Telephony.CoreService
356   * @systemapi Hide this for inner system use.
357   * @since 8
358   */
359  function getCellInformation(callback: AsyncCallback<Array<CellInformation>>): void;
360
361  /**
362   * Obtains the network search mode of the SIM card in a specified slot.
363   *
364   * @param { number } slotId - Indicates the card slot index number, ranging from 0 to the maximum card slot
365   * index number supported by the device.
366   * @param { AsyncCallback<NetworkSelectionMode> } callback - Indicates the callback for getting
367   * the network search mode of the SIM card. Available values are as follows:
368   * <ul>
369   * <li>{@link NetworkSelectionMode#NETWORK_SELECTION_UNKNOWN}
370   * <li>{@link NetworkSelectionMode#NETWORK_SELECTION_AUTOMATIC}
371   * <li>{@link NetworkSelectionMode#NETWORK_SELECTION_MANUAL}
372   * <ul>
373   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
374   * 2. Incorrect parameter types.
375   * @throws { BusinessError } 8300001 - Invalid parameter value.
376   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
377   * @throws { BusinessError } 8300003 - System internal error.
378   * @throws { BusinessError } 8300999 - Unknown error code.
379   * @syscap SystemCapability.Telephony.CoreService
380   * @since 6
381   */
382  function getNetworkSelectionMode(slotId: number, callback: AsyncCallback<NetworkSelectionMode>): void;
383
384  /**
385   * Obtains the network search mode of the SIM card in a specified slot.
386   *
387   * @param { number } slotId - Indicates the card slot index number, ranging from 0 to the maximum card slot
388   * index number supported by the device.
389   * @returns { Promise<NetworkSelectionMode> } Returns the network search mode of the SIM card.
390   * Available values are as follows:
391   * <ul>
392   * <li>{@link NetworkSelectionMode#NETWORK_SELECTION_UNKNOWN}
393   * <li>{@link NetworkSelectionMode#NETWORK_SELECTION_AUTOMATIC}
394   * <li>{@link NetworkSelectionMode#NETWORK_SELECTION_MANUAL}
395   * <ul>
396   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
397   * 2. Incorrect parameter types.
398   * @throws { BusinessError } 8300001 - Invalid parameter value.
399   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
400   * @throws { BusinessError } 8300003 - System internal error.
401   * @throws { BusinessError } 8300999 - Unknown error code.
402   * @syscap SystemCapability.Telephony.CoreService
403   * @since 6
404   */
405  function getNetworkSelectionMode(slotId: number): Promise<NetworkSelectionMode>;
406
407  /**
408   * Set the current network selection mode.
409   *
410   * @permission ohos.permission.SET_TELEPHONY_STATE
411   * @param { NetworkSelectionModeOptions } options Indicates the network selection mode option.
412   * @param { AsyncCallback<void> } callback - The callback of setNetworkSelectionMode.
413   * @throws { BusinessError } 201 - Permission denied.
414   * @throws { BusinessError } 202 - Non-system applications use system APIs.
415   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
416   * 2. Incorrect parameter types.
417   * @throws { BusinessError } 8300001 - Invalid parameter value.
418   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
419   * @throws { BusinessError } 8300003 - System internal error.
420   * @throws { BusinessError } 8300999 - Unknown error code.
421   * @syscap SystemCapability.Telephony.CoreService
422   * @systemapi Hide this for inner system use.
423   * @since 6
424   */
425  function setNetworkSelectionMode(options: NetworkSelectionModeOptions, callback: AsyncCallback<void>): void;
426
427  /**
428   * Set the current network selection mode.
429   *
430   * @permission ohos.permission.SET_TELEPHONY_STATE
431   * @param { NetworkSelectionModeOptions } options Indicates the network selection mode option.
432   * @returns { Promise<void> } The promise returned by the setNetworkSelectionMode.
433   * @throws { BusinessError } 201 - Permission denied.
434   * @throws { BusinessError } 202 - Non-system applications use system APIs.
435   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
436   * 2. Incorrect parameter types.
437   * @throws { BusinessError } 8300001 - Invalid parameter value.
438   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
439   * @throws { BusinessError } 8300003 - System internal error.
440   * @throws { BusinessError } 8300999 - Unknown error code.
441   * @syscap SystemCapability.Telephony.CoreService
442   * @systemapi Hide this for inner system use.
443   * @since 6
444   */
445  function setNetworkSelectionMode(options: NetworkSelectionModeOptions): Promise<void>;
446
447  /**
448   * Get network search information.
449   *
450   * @permission ohos.permission.GET_TELEPHONY_STATE
451   * @param { number } slotId - Indicates the card slot index number, ranging from 0 to the maximum card slot
452   * index number supported by the device.
453   * @param { AsyncCallback<NetworkSearchResult> } callback - Indicates the callback for getting
454   * the search results of the network.
455   * @throws { BusinessError } 201 - Permission denied.
456   * @throws { BusinessError } 202 - Non-system applications use system APIs.
457   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
458   * 2. Incorrect parameter types.
459   * @throws { BusinessError } 8300001 - Invalid parameter value.
460   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
461   * @throws { BusinessError } 8300003 - System internal error.
462   * @throws { BusinessError } 8300999 - Unknown error code.
463   * @syscap SystemCapability.Telephony.CoreService
464   * @systemapi Hide this for inner system use.
465   * @since 6
466   */
467  function getNetworkSearchInformation(slotId: number, callback: AsyncCallback<NetworkSearchResult>): void;
468
469  /**
470   * Get network search information.
471   *
472   * @permission ohos.permission.GET_TELEPHONY_STATE
473   * @param { number } slotId - Indicates the card slot index number, ranging from 0 to the maximum card slot
474   * index number supported by the device.
475   * @returns { Promise<NetworkSearchResult> } Returns the search results of the network.
476   * @throws { BusinessError } 201 - Permission denied.
477   * @throws { BusinessError } 202 - Non-system applications use system APIs.
478   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
479   * 2. Incorrect parameter types.
480   * @throws { BusinessError } 8300001 - Invalid parameter value.
481   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
482   * @throws { BusinessError } 8300003 - System internal error.
483   * @throws { BusinessError } 8300999 - Unknown error code.
484   * @syscap SystemCapability.Telephony.CoreService
485   * @systemapi Hide this for inner system use.
486   * @since 6
487   */
488  function getNetworkSearchInformation(slotId: number): Promise<NetworkSearchResult>;
489
490  /**
491   * Obtains the ISO-defined country code of the country where the registered network is deployed.
492   *
493   * @param { number } slotId - Indicates the card slot index number,
494   * ranging from 0 to the maximum card slot index number supported by the device.
495   * @param { AsyncCallback<string> } callback - Indicates the callback for getting the country code
496   * defined in ISO 3166-2; returns an empty string if the device is not registered with any network.
497   * @throws { BusinessError } 401 - Parameter error.
498   * @throws { BusinessError } 8300001 - Invalid parameter value.
499   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
500   * @throws { BusinessError } 8300003 - System internal error.
501   * @throws { BusinessError } 8300999 - Unknown error code.
502   * @syscap SystemCapability.Telephony.CoreService
503   * @since 7
504   */
505  function getISOCountryCodeForNetwork(slotId: number, callback: AsyncCallback<string>): void;
506
507  /**
508   * Obtains the ISO-defined country code of the country where the registered network is deployed.
509   *
510   * @param { number } slotId - Indicates the card slot index number,
511   * ranging from 0 to the maximum card slot index number supported by the device.
512   * @returns { Promise<string> } Returns the country code defined in ISO 3166-2.
513   * Returns an empty string if the device is not registered with any network.
514   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
515   * 2. Incorrect parameter types.
516   * @throws { BusinessError } 8300001 - Invalid parameter value.
517   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
518   * @throws { BusinessError } 8300003 - System internal error.
519   * @throws { BusinessError } 8300999 - Unknown error code.
520   * @syscap SystemCapability.Telephony.CoreService
521   * @since 7
522   */
523  function getISOCountryCodeForNetwork(slotId: number): Promise<string>;
524
525  /**
526   * Obtains the ISO-defined country code of the country where the registered network is deployed.
527   *
528   * @param { number } slotId - Indicates the card slot index number,
529   * ranging from 0 to the maximum card slots supported by the device.
530   * @returns { string } Returns the country code defined in ISO 3166-2.
531   * Returns an empty string if the device is not registered with any network.
532   * @syscap SystemCapability.Telephony.CoreService
533   * @since 10
534   */
535  function getISOCountryCodeForNetworkSync(slotId: number): string;
536
537  /**
538   * Get the option mode of NR.
539   *
540   * @param { number } slotId - Indicates the card slot index number, ranging from 0 to the maximum card slot
541   * index number supported by the device.
542   * @param { AsyncCallback<NrOptionMode> } callback - Indicates the callback for getting the selection mode of NR.
543   * @throws { BusinessError } 202 - Non-system applications use system APIs.
544   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
545   * 2. Incorrect parameter types.
546   * @throws { BusinessError } 8300001 - Invalid parameter value.
547   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
548   * @throws { BusinessError } 8300003 - System internal error.
549   * @throws { BusinessError } 8300999 - Unknown error code.
550   * @syscap SystemCapability.Telephony.CoreService
551   * @systemapi Hide this for inner system use.
552   * @since 8
553   * @deprecated since 10
554   * @useinstead telephony.radio#getNROptionMode
555   */
556  function getNrOptionMode(slotId: number, callback: AsyncCallback<NrOptionMode>): void;
557
558  /**
559   * Get the option mode of NR.
560   *
561   * @param { number } slotId - Indicates the card slot index number, ranging from 0 to the maximum card slot
562   * index number supported by the device.
563   * @returns { Promise<NrOptionMode> } Returns the selection mode of NR.
564   * @throws { BusinessError } 202 - Non-system applications use system APIs.
565   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
566   * 2. Incorrect parameter types.
567   * @throws { BusinessError } 8300001 - Invalid parameter value.
568   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
569   * @throws { BusinessError } 8300003 - System internal error.
570   * @throws { BusinessError } 8300999 - Unknown error code.
571   * @syscap SystemCapability.Telephony.CoreService
572   * @systemapi Hide this for inner system use.
573   * @since 8
574   * @deprecated since 10
575   * @useinstead telephony.radio#getNROptionMode
576   */
577  function getNrOptionMode(slotId?: number): Promise<NrOptionMode>;
578
579  /**
580   * Get the option mode of NR.
581   *
582   * @param { AsyncCallback<NrOptionMode> } callback - Indicates the callback for getting the selection mode of NR.
583   * @throws { BusinessError } 202 - Non-system applications use system APIs.
584   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
585   * 2. Incorrect parameter types.
586   * @throws { BusinessError } 8300001 - Invalid parameter value.
587   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
588   * @throws { BusinessError } 8300003 - System internal error.
589   * @throws { BusinessError } 8300999 - Unknown error code.
590   * @syscap SystemCapability.Telephony.CoreService
591   * @systemapi Hide this for inner system use.
592   * @since 8
593   * @deprecated since 10
594   * @useinstead telephony.radio#getNROptionMode
595   */
596  function getNrOptionMode(callback: AsyncCallback<NrOptionMode>): void;
597
598  /**
599   * Obtains the IMEI of a specified card slot of the device.
600   *
601   * @permission ohos.permission.GET_TELEPHONY_STATE
602   * @param { number } slotId - Indicates the card slot index number, ranging from 0 to the maximum card slot
603   * index number supported by the device.
604   * @param { AsyncCallback<string> } callback - Indicates the callback for getting the IMEI.
605   * Returns an empty string if the IMEI does not exist.
606   * @throws { BusinessError } 201 - Permission denied.
607   * @throws { BusinessError } 202 - Non-system applications use system APIs.
608   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
609   * 2. Incorrect parameter types.
610   * @throws { BusinessError } 8300001 - Invalid parameter value.
611   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
612   * @throws { BusinessError } 8300003 - System internal error.
613   * @throws { BusinessError } 8300999 - Unknown error code.
614   * @syscap SystemCapability.Telephony.CoreService
615   * @systemapi Hide this for inner system use.
616   * @since 8
617   */
618  function getIMEI(slotId: number, callback: AsyncCallback<string>): void;
619
620  /**
621   * Obtains the IMEI of a specified card slot of the device.
622   *
623   * @permission ohos.permission.GET_TELEPHONY_STATE
624   * @param { number } slotId - Indicates the card slot index number, ranging from 0 to the maximum card slot
625   * index number supported by the device.
626   * @returns { Promise<string> } Returns the IMEI. Returns an empty string if the IMEI does not exist.
627   * @throws { BusinessError } 201 - Permission denied.
628   * @throws { BusinessError } 202 - Non-system applications use system APIs.
629   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
630   * 2. Incorrect parameter types.
631   * @throws { BusinessError } 8300001 - Invalid parameter value.
632   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
633   * @throws { BusinessError } 8300003 - System internal error.
634   * @throws { BusinessError } 8300999 - Unknown error code.
635   * @syscap SystemCapability.Telephony.CoreService
636   * @systemapi Hide this for inner system use.
637   * @since 8
638   */
639  function getIMEI(slotId?: number): Promise<string>;
640
641  /**
642   * Obtains the IMEI of a specified card slot of the device.
643   *
644   * @permission ohos.permission.GET_TELEPHONY_STATE
645   * @param { AsyncCallback<string> } callback - Indicates the callback for getting the IMEI.
646   * Returns an empty string if the IMEI does not exist.
647   * @throws { BusinessError } 201 - Permission denied.
648   * @throws { BusinessError } 202 - Non-system applications use system APIs.
649   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
650   * 2. Incorrect parameter types.
651   * @throws { BusinessError } 8300001 - Invalid parameter value.
652   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
653   * @throws { BusinessError } 8300003 - System internal error.
654   * @throws { BusinessError } 8300999 - Unknown error code.
655   * @syscap SystemCapability.Telephony.CoreService
656   * @systemapi Hide this for inner system use.
657   * @since 8
658   */
659  function getIMEI(callback: AsyncCallback<string>): void;
660
661  /**
662   * Obtains the MEID of a specified card slot of the device.
663   *
664   * @permission ohos.permission.GET_TELEPHONY_STATE
665   * @param { number } slotId - Indicates the card slot index number, ranging from 0 to the maximum card slot
666   * index number supported by the device.
667   * @param { AsyncCallback<string> } callback - Indicates the callback for getting the MEID.
668   * Returns an empty string if the MEID does not exist.
669   * @throws { BusinessError } 201 - Permission denied.
670   * @throws { BusinessError } 202 - Non-system applications use system APIs.
671   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
672   * 2. Incorrect parameter types.
673   * @throws { BusinessError } 8300001 - Invalid parameter value.
674   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
675   * @throws { BusinessError } 8300003 - System internal error.
676   * @throws { BusinessError } 8300999 - Unknown error code.
677   * @syscap SystemCapability.Telephony.CoreService
678   * @systemapi Hide this for inner system use.
679   * @since 8
680   */
681  function getMEID(slotId: number, callback: AsyncCallback<string>): void;
682
683  /**
684   * Obtains the MEID of a specified card slot of the device.
685   *
686   * @permission ohos.permission.GET_TELEPHONY_STATE
687   * @param { number } slotId - Indicates the card slot index number, ranging from 0 to the maximum card slot
688   * index number supported by the device.
689   * @returns { Promise<string> } Returns the MEID. Returns an empty string if the MEID does not exist.
690   * @throws { BusinessError } 201 - Permission denied.
691   * @throws { BusinessError } 202 - Non-system applications use system APIs.
692   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
693   * 2. Incorrect parameter types.
694   * @throws { BusinessError } 8300001 - Invalid parameter value.
695   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
696   * @throws { BusinessError } 8300003 - System internal error.
697   * @throws { BusinessError } 8300999 - Unknown error code.
698   * @syscap SystemCapability.Telephony.CoreService
699   * @systemapi Hide this for inner system use.
700   * @since 8
701   */
702  function getMEID(slotId?: number): Promise<string>;
703
704  /**
705   * Obtains the MEID of a specified card slot of the device.
706   *
707   * @permission ohos.permission.GET_TELEPHONY_STATE
708   * @param { AsyncCallback<string> } callback - Indicates the callback for getting the MEID.
709   * Returns an empty string if the MEID does not exist.
710   * @throws { BusinessError } 201 - Permission denied.
711   * @throws { BusinessError } 202 - Non-system applications use system APIs.
712   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
713   * 2. Incorrect parameter types.
714   * @throws { BusinessError } 8300001 - Invalid parameter value.
715   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
716   * @throws { BusinessError } 8300003 - System internal error.
717   * @throws { BusinessError } 8300999 - Unknown error code.
718   * @syscap SystemCapability.Telephony.CoreService
719   * @systemapi Hide this for inner system use.
720   * @since 8
721   */
722  function getMEID(callback: AsyncCallback<string>): void;
723
724  /**
725   * Obtains the unique device ID of a specified card slot of the device.
726   *
727   * If the device is registered with a 3GPP-compliant network, the international mobile equipment identity
728   * (IMEI) is returned. If the device is registered with a 3GPP2-compliant network, the mobile equipment identifier
729   * (MEID) is returned.
730   *
731   * @permission ohos.permission.GET_TELEPHONY_STATE
732   * @param { number } slotId - Indicates the card slot index number, ranging from 0 to the maximum card slot
733   * index number supported by the device.
734   * @param { AsyncCallback<string> } callback - Indicates the callback for getting the unique device ID.
735   * Returns an empty string if the unique device ID does not exist.
736   * @throws { BusinessError } 201 - Permission denied.
737   * @throws { BusinessError } 202 - Non-system applications use system APIs.
738   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
739   * 2. Incorrect parameter types.
740   * @throws { BusinessError } 8300001 - Invalid parameter value.
741   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
742   * @throws { BusinessError } 8300003 - System internal error.
743   * @throws { BusinessError } 8300999 - Unknown error code.
744   * @syscap SystemCapability.Telephony.CoreService
745   * @systemapi Hide this for inner system use.
746   * @since 8
747   */
748  function getUniqueDeviceId(slotId: number, callback: AsyncCallback<string>): void;
749
750  /**
751   * Obtains the unique device ID of a specified card slot of the device.
752   *
753   * If the device is registered with a 3GPP-compliant network, the international mobile equipment identity
754   * (IMEI) is returned. If the device is registered with a 3GPP2-compliant network, the mobile equipment identifier
755   * (MEID) is returned.
756   *
757   * @permission ohos.permission.GET_TELEPHONY_STATE
758   * @param { number } slotId - Indicates the card slot index number, ranging from 0 to the maximum card slot
759   * index number supported by the device.
760   * @returns { Promise<string> } Returns the unique device ID.
761   * Returns an empty string if the unique device ID does not exist.
762   * @throws { BusinessError } 201 - Permission denied.
763   * @throws { BusinessError } 202 - Non-system applications use system APIs.
764   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
765   * 2. Incorrect parameter types.
766   * @throws { BusinessError } 8300001 - Invalid parameter value.
767   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
768   * @throws { BusinessError } 8300003 - System internal error.
769   * @throws { BusinessError } 8300999 - Unknown error code.
770   * @syscap SystemCapability.Telephony.CoreService
771   * @systemapi Hide this for inner system use.
772   * @since 8
773   */
774  function getUniqueDeviceId(slotId?: number): Promise<string>;
775
776  /**
777   * Obtains the unique device ID of a specified card slot of the device.
778   *
779   * If the device is registered with a 3GPP-compliant network, the international mobile equipment identity
780   * (IMEI) is returned. If the device is registered with a 3GPP2-compliant network, the mobile equipment identifier
781   * (MEID) is returned.
782   *
783   * @permission ohos.permission.GET_TELEPHONY_STATE
784   * @param { AsyncCallback<string> } callback - Indicates the callback for getting the unique device ID.
785   * Returns an empty string if the unique device ID does not exist.
786   * @throws { BusinessError } 201 - Permission denied.
787   * @throws { BusinessError } 202 - Non-system applications use system APIs.
788   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
789   * 2. Incorrect parameter types.
790   * @throws { BusinessError } 8300001 - Invalid parameter value.
791   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
792   * @throws { BusinessError } 8300003 - System internal error.
793   * @throws { BusinessError } 8300999 - Unknown error code.
794   * @syscap SystemCapability.Telephony.CoreService
795   * @systemapi Hide this for inner system use.
796   * @since 8
797   */
798  function getUniqueDeviceId(callback: AsyncCallback<string>): void;
799
800  /**
801   * Obtains the index number of the card slot where the primary card is located if multiple SIM cards are inserted.
802   *
803   * The primary card is the SIM card inserted in the card slot that uses data services by default.
804   *
805   * @param { AsyncCallback<number> } callback - Indicates the callback for getting the index number of
806   * the primary card slot.
807   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
808   * 2. Incorrect parameter types.
809   * @throws { BusinessError } 8300001 - Invalid parameter value.
810   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
811   * @throws { BusinessError } 8300003 - System internal error.
812   * @throws { BusinessError } 8300999 - Unknown error code.
813   * @syscap SystemCapability.Telephony.CoreService
814   * @since 7
815   */
816  function getPrimarySlotId(callback: AsyncCallback<number>): void;
817
818  /**
819   * Obtains the index number of the card slot where the primary card is located if multiple SIM cards are inserted.
820   *
821   * The primary card is the SIM card inserted in the card slot that uses data services by default.
822   *
823   * @returns { Promise<number> } Returns the index number of the primary card slot.
824   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
825   * @throws { BusinessError } 8300003 - System internal error.
826   * @throws { BusinessError } 8300999 - Unknown error code.
827   * @syscap SystemCapability.Telephony.CoreService
828   * @since 7
829   */
830  function getPrimarySlotId(): Promise<number>;
831
832  /**
833   * Set the index number of the main SIM card slot.
834   *
835   * @permission ohos.permission.SET_TELEPHONY_STATE
836   * @param { number } slotId - Indicates the card slot index number, ranging from 0 to the maximum card slot
837   * index number supported by the device.
838   * @param { AsyncCallback<void> } callback - The callback of setPrimarySlotId.
839   * @throws { BusinessError } 201 - Permission denied.
840   * @throws { BusinessError } 202 - Non-system applications use system APIs.
841   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
842   * 2. Incorrect parameter types.
843   * @throws { BusinessError } 8300001 - Invalid parameter value.
844   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
845   * @throws { BusinessError } 8300003 - System internal error.
846   * @throws { BusinessError } 8300004 - Do not have sim card.
847   * @throws { BusinessError } 8300999 - Unknown error code.
848   * @syscap SystemCapability.Telephony.CoreService
849   * @systemapi Hide this for inner system use.
850   * @since 8
851   */
852  function setPrimarySlotId(slotId: number, callback: AsyncCallback<void>): void;
853
854  /**
855   * Set the index number of the main SIM card slot.
856   *
857   * @permission ohos.permission.SET_TELEPHONY_STATE
858   * @param { number } slotId - Indicates the card slot index number, ranging from 0 to the maximum card slot
859   * index number supported by the device.
860   * @returns { Promise<void> } The promise returned by the setPrimarySlotId.
861   * @throws { BusinessError } 201 - Permission denied.
862   * @throws { BusinessError } 202 - Non-system applications use system APIs.
863   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
864   * 2. Incorrect parameter types.
865   * @throws { BusinessError } 8300001 - Invalid parameter value.
866   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
867   * @throws { BusinessError } 8300003 - System internal error.
868   * @throws { BusinessError } 8300004 - Do not have sim card.
869   * @throws { BusinessError } 8300999 - Unknown error code.
870   * @syscap SystemCapability.Telephony.CoreService
871   * @systemapi Hide this for inner system use.
872   * @since 8
873   */
874  function setPrimarySlotId(slotId: number): Promise<void>;
875
876  /**
877   * Obtains the list of signal strength information of the registered network corresponding to a specified SIM card.
878   *
879   * @param { number } slotId - Indicates the card slot index number, ranging from 0 to the maximum card slot
880   * index number supported by the device.
881   * @param { AsyncCallback<Array<SignalInformation>> } callback - Indicates the callback for getting
882   * the instance list of the child classes derived from {@link SignalInformation}.
883   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
884   * 2. Incorrect parameter types.
885   * @throws { BusinessError } 8300001 - Invalid parameter value.
886   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
887   * @throws { BusinessError } 8300003 - System internal error.
888   * @throws { BusinessError } 8300999 - Unknown error code.
889   * @syscap SystemCapability.Telephony.CoreService
890   * @since 7
891   */
892  function getSignalInformation(slotId: number, callback: AsyncCallback<Array<SignalInformation>>): void;
893
894  /**
895   * Obtains the list of signal strength information of the registered network corresponding to a specified SIM card.
896   *
897   * @param { number } slotId - Indicates the card slot index number, ranging from 0 to the maximum card slot
898   * index number supported by the device.
899   * @returns { Promise<Array<SignalInformation>> } Returns the callback for getting the instance list of
900   * the child classes derived from {@link SignalInformation}.
901   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
902   * 2. Incorrect parameter types.
903   * @throws { BusinessError } 8300001 - Invalid parameter value.
904   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
905   * @throws { BusinessError } 8300003 - System internal error.
906   * @throws { BusinessError } 8300999 - Unknown error code.
907   * @syscap SystemCapability.Telephony.CoreService
908   * @since 7
909   */
910  function getSignalInformation(slotId: number): Promise<Array<SignalInformation>>;
911
912  /**
913   * Obtains the list of signal strength information of the registered network corresponding to a specified SIM card.
914   *
915   * @param { number } slotId - Indicates the card slot index number, ranging from 0 to the maximum
916   * card slots supported by the device.
917   * @returns { Array<SignalInformation> } Returns the callback for getting the instance list of
918   * the child classes derived from {@link SignalInformation}.
919   * @syscap SystemCapability.Telephony.CoreService
920   * @since 10
921   */
922  function getSignalInformationSync(slotId: number): Array<SignalInformation>;
923
924  /**
925   * Checks whether the device supports 5G New Radio (NR).
926   *
927   * @returns { boolean } Returns {@code true} if the device supports 5G NR; returns {@code false} otherwise.
928   * @syscap SystemCapability.Telephony.CoreService
929   * @since 7
930   * @deprecated since 9
931   * @useinstead telephony.radio#isNRSupported
932   */
933  function isNrSupported(): boolean;
934
935  /**
936   * Checks whether the device supports 5G New Radio (NR) by according card slot.
937   *
938   * @param { number } slotId - Indicates the card slot index number, ranging from 0 to the maximum card slot
939   * index number supported by the device.
940   * @returns { boolean } Returns {@code true} if the device supports 5G NR; returns {@code false} otherwise.
941   * @syscap SystemCapability.Telephony.CoreService
942   * @since 8
943   * @deprecated since 9
944   * @useinstead telephony.radio#isNRSupported
945   */
946  function isNrSupported(slotId: number): boolean;
947
948  /**
949   * Checks whether the device supports 5G New Radio (NR).
950   *
951   * @returns { boolean } Returns {@code true} if the device supports 5G NR; returns {@code false} otherwise.
952   * @syscap SystemCapability.Telephony.CoreService
953   * @since 9
954   */
955  function isNRSupported(): boolean;
956
957  /**
958   * Checks whether the device supports 5G New Radio (NR) by according card slot.
959   *
960   * @param { number } slotId - Indicates the card slot index number, ranging from 0 to the maximum card slot
961   * index number supported by the device.
962   * @returns { boolean } Returns {@code true} if the device supports 5G NR; returns {@code false} otherwise.
963   * @syscap SystemCapability.Telephony.CoreService
964   * @since 9
965   */
966  function isNRSupported(slotId: number): boolean;
967
968  /**
969   * Checks whether the radio service is enabled.
970   *
971   * @permission ohos.permission.GET_NETWORK_INFO
972   * @param { number } slotId - Indicates the card slot index number,
973   * ranging from 0 to the maximum card slot index number supported by the device.
974   * @param { AsyncCallback<boolean> } callback - Returns {@code true} If the radio service is enabled.
975   * Returns {@code false} otherwise.
976   * @throws { BusinessError } 201 - Permission denied.
977   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
978   * 2. Incorrect parameter types.
979   * @throws { BusinessError } 8300001 - Invalid parameter value.
980   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
981   * @throws { BusinessError } 8300003 - System internal error.
982   * @throws { BusinessError } 8300999 - Unknown error code.
983   * @syscap SystemCapability.Telephony.CoreService
984   * @since 7
985   */
986  function isRadioOn(slotId: number, callback: AsyncCallback<boolean>): void;
987
988  /**
989   * Checks whether the radio service is enabled.
990   *
991   * @permission ohos.permission.GET_NETWORK_INFO
992   * @param { number } slotId - Indicates the card slot index number,
993   * ranging from 0 to the maximum card slot index number supported by the device.
994   * @returns { Promise<boolean> } Returns {@code true} If the radio service is enabled; returns {@code false} otherwise.
995   * @throws { BusinessError } 201 - Permission denied.
996   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
997   * 2. Incorrect parameter types.
998   * @throws { BusinessError } 8300001 - Invalid parameter value.
999   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1000   * @throws { BusinessError } 8300003 - System internal error.
1001   * @throws { BusinessError } 8300999 - Unknown error code.
1002   * @syscap SystemCapability.Telephony.CoreService
1003   * @since 7
1004   */
1005  function isRadioOn(slotId?: number): Promise<boolean>;
1006
1007  /**
1008   * Checks whether the radio service is enabled.
1009   *
1010   * @permission ohos.permission.GET_NETWORK_INFO
1011   * @param { AsyncCallback<boolean> } callback - Returns {@code true} If the radio service is enabled.
1012   * Returns {@code false} otherwise.
1013   * @throws { BusinessError } 201 - Permission denied.
1014   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
1015   * 2. Incorrect parameter types.
1016   * @throws { BusinessError } 8300001 - Invalid parameter value.
1017   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1018   * @throws { BusinessError } 8300003 - System internal error.
1019   * @throws { BusinessError } 8300999 - Unknown error code.
1020   * @syscap SystemCapability.Telephony.CoreService
1021   * @since 7
1022   */
1023  function isRadioOn(callback: AsyncCallback<boolean>): void;
1024
1025  /**
1026   * Turn on the radio service.
1027   *
1028   * @permission ohos.permission.SET_TELEPHONY_STATE
1029   * @param { number } slotId - Indicates the card slot index number,
1030   * ranging from 0 to the maximum card slot index number supported by the device.
1031   * @param { AsyncCallback<void> } callback - The callback of turnOnRadio.
1032   * @throws { BusinessError } 201 - Permission denied.
1033   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1034   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
1035   * 2. Incorrect parameter types.
1036   * @throws { BusinessError } 8300001 - Invalid parameter value.
1037   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1038   * @throws { BusinessError } 8300003 - System internal error.
1039   * @throws { BusinessError } 8300999 - Unknown error code.
1040   * @syscap SystemCapability.Telephony.CoreService
1041   * @systemapi Hide this for inner system use.
1042   * @since 7
1043   */
1044  function turnOnRadio(slotId: number, callback: AsyncCallback<void>): void;
1045
1046  /**
1047   * Turn on the radio service.
1048   *
1049   * @permission ohos.permission.SET_TELEPHONY_STATE
1050   * @param { number } slotId - Indicates the card slot index number,
1051   * ranging from 0 to the maximum card slot index number supported by the device.
1052   * @returns { Promise<void> } The promise returned by the turnOnRadio.
1053   * @throws { BusinessError } 201 - Permission denied.
1054   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1055   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
1056   * 2. Incorrect parameter types.
1057   * @throws { BusinessError } 8300001 - Invalid parameter value.
1058   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1059   * @throws { BusinessError } 8300003 - System internal error.
1060   * @throws { BusinessError } 8300999 - Unknown error code.
1061   * @syscap SystemCapability.Telephony.CoreService
1062   * @systemapi Hide this for inner system use.
1063   * @since 7
1064   */
1065  function turnOnRadio(slotId?: number): Promise<void>;
1066
1067  /**
1068   * Turn on the radio service.
1069   *
1070   * @permission ohos.permission.SET_TELEPHONY_STATE
1071   * @param { AsyncCallback<void> } callback - The callback of turnOnRadio.
1072   * @throws { BusinessError } 201 - Permission denied.
1073   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1074   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
1075   * 2. Incorrect parameter types.
1076   * @throws { BusinessError } 8300001 - Invalid parameter value.
1077   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1078   * @throws { BusinessError } 8300003 - System internal error.
1079   * @throws { BusinessError } 8300999 - Unknown error code.
1080   * @syscap SystemCapability.Telephony.CoreService
1081   * @systemapi Hide this for inner system use.
1082   * @since 7
1083   */
1084  function turnOnRadio(callback: AsyncCallback<void>): void;
1085
1086  /**
1087   * Turn off the radio service.
1088   *
1089   * @permission ohos.permission.SET_TELEPHONY_STATE
1090   * @param { number } slotId - Indicates the card slot index number,
1091   * ranging from 0 to the maximum card slot index number supported by the device.
1092   * @param { AsyncCallback<void> } callback - The callback of turnOffRadio.
1093   * @throws { BusinessError } 201 - Permission denied.
1094   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1095   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
1096   * 2. Incorrect parameter types.
1097   * @throws { BusinessError } 8300001 - Invalid parameter value.
1098   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1099   * @throws { BusinessError } 8300003 - System internal error.
1100   * @throws { BusinessError } 8300999 - Unknown error code.
1101   * @syscap SystemCapability.Telephony.CoreService
1102   * @systemapi Hide this for inner system use.
1103   * @since 7
1104   */
1105  function turnOffRadio(slotId: number, callback: AsyncCallback<void>): void;
1106
1107  /**
1108   * Turn off the radio service.
1109   *
1110   * @permission ohos.permission.SET_TELEPHONY_STATE
1111   * @param { number } slotId - Indicates the card slot index number,
1112   * ranging from 0 to the maximum card slot index number supported by the device.
1113   * @returns { Promise<void> } The promise returned by the turnOffRadio.
1114   * @throws { BusinessError } 201 - Permission denied.
1115   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1116   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
1117   * 2. Incorrect parameter types.
1118   * @throws { BusinessError } 8300001 - Invalid parameter value.
1119   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1120   * @throws { BusinessError } 8300003 - System internal error.
1121   * @throws { BusinessError } 8300999 - Unknown error code.
1122   * @syscap SystemCapability.Telephony.CoreService
1123   * @systemapi Hide this for inner system use.
1124   * @since 7
1125   */
1126  function turnOffRadio(slotId?: number): Promise<void>;
1127
1128  /**
1129   * Turn off the radio service.
1130   *
1131   * @permission ohos.permission.SET_TELEPHONY_STATE
1132   * @param { AsyncCallback<void> } callback - The callback of turnOffRadio.
1133   * @throws { BusinessError } 201 - Permission denied.
1134   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1135   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
1136   * 2. Incorrect parameter types.
1137   * @throws { BusinessError } 8300001 - Invalid parameter value.
1138   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1139   * @throws { BusinessError } 8300003 - System internal error.
1140   * @throws { BusinessError } 8300999 - Unknown error code.
1141   * @syscap SystemCapability.Telephony.CoreService
1142   * @systemapi Hide this for inner system use.
1143   * @since 7
1144   */
1145  function turnOffRadio(callback: AsyncCallback<void>): void;
1146
1147  /**
1148   * Get the operator name of the specified SIM card slot.
1149   *
1150   * @param { number } slotId - Indicates the card slot index number,
1151   * ranging from 0 to the maximum card slot index number supported by the device.
1152   * @param { AsyncCallback<string> } callback - Indicates the callback for getting the operator name.
1153   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
1154   * 2. Incorrect parameter types.
1155   * @throws { BusinessError } 8300001 - Invalid parameter value.
1156   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1157   * @throws { BusinessError } 8300003 - System internal error.
1158   * @throws { BusinessError } 8300999 - Unknown error code.
1159   * @syscap SystemCapability.Telephony.CoreService
1160   * @since 7
1161   */
1162  function getOperatorName(slotId: number, callback: AsyncCallback<string>): void;
1163
1164  /**
1165   * Get the operator name of the specified SIM card slot.
1166   *
1167   * @param { number } slotId - Indicates the card slot index number,
1168   * ranging from 0 to the maximum card slot index number supported by the device.
1169   * @returns { Promise<string> } Returns the operator name.
1170   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
1171   * 2. Incorrect parameter types.
1172   * @throws { BusinessError } 8300001 - Invalid parameter value.
1173   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1174   * @throws { BusinessError } 8300003 - System internal error.
1175   * @throws { BusinessError } 8300999 - Unknown error code.
1176   * @syscap SystemCapability.Telephony.CoreService
1177   * @since 7
1178   */
1179  function getOperatorName(slotId: number): Promise<string>;
1180
1181  /**
1182   * Get the operator name of the specified SIM card slot.
1183   *
1184   * @param { number } slotId - Indicates the card slot index number,
1185   * ranging from 0 to the maximum card slot index number supported by the device.
1186   * @returns { string } Returns the operator name.
1187   * @syscap SystemCapability.Telephony.CoreService
1188   * @since 10
1189   */
1190  function getOperatorNameSync(slotId: number): string;
1191
1192  /**
1193   * Set the preferred network for the specified SIM card slot.
1194   *
1195   * @permission ohos.permission.SET_TELEPHONY_STATE
1196   * @param { number } slotId - Indicates the card slot index number,
1197   * ranging from 0 to the maximum card slot index number supported by the device.
1198   * @param { PreferredNetworkMode } networkMode - Indicates that you want to set the preferred network mode.
1199   * @param { AsyncCallback<void> } callback - The callback of setPreferredNetwork.
1200   * @throws { BusinessError } 201 - Permission denied.
1201   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1202   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
1203   * 2. Incorrect parameter types.
1204   * @throws { BusinessError } 8300001 - Invalid parameter value.
1205   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1206   * @throws { BusinessError } 8300003 - System internal error.
1207   * @throws { BusinessError } 8300999 - Unknown error code.
1208   * @syscap SystemCapability.Telephony.CoreService
1209   * @systemapi Hide this for inner system use.
1210   * @since 8
1211   */
1212  function setPreferredNetwork(slotId: number, networkMode: PreferredNetworkMode, callback: AsyncCallback<void>): void;
1213
1214  /**
1215   * Set the preferred network for the specified SIM card slot.
1216   *
1217   * @permission ohos.permission.SET_TELEPHONY_STATE
1218   * @param { number } slotId - Indicates the card slot index number,
1219   * ranging from 0 to the maximum card slot index number supported by the device.
1220   * @param { PreferredNetworkMode } networkMode - Indicates that you want to set the preferred network mode.
1221   * @returns { Promise<void> } The promise returned by the setPreferredNetwork.
1222   * @throws { BusinessError } 201 - Permission denied.
1223   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1224   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
1225   * 2. Incorrect parameter types.
1226   * @throws { BusinessError } 8300001 - Invalid parameter value.
1227   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1228   * @throws { BusinessError } 8300003 - System internal error.
1229   * @throws { BusinessError } 8300999 - Unknown error code.
1230   * @syscap SystemCapability.Telephony.CoreService
1231   * @systemapi Hide this for inner system use.
1232   * @since 8
1233   */
1234  function setPreferredNetwork(slotId: number, networkMode: PreferredNetworkMode): Promise<void>;
1235
1236  /**
1237   * Get the preferred network for the specified SIM card slot.
1238   *
1239   * @permission ohos.permission.GET_TELEPHONY_STATE
1240   * @param { number } slotId - Indicates the card slot index number,
1241   * ranging from 0 to the maximum card slot index number supported by the device.
1242   * @param { AsyncCallback<PreferredNetworkMode> } callback - Indicates the callback for getting
1243   * the preferred network mode to obtain.
1244   * @throws { BusinessError } 201 - Permission denied.
1245   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1246   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
1247   * 2. Incorrect parameter types.
1248   * @throws { BusinessError } 8300001 - Invalid parameter value.
1249   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1250   * @throws { BusinessError } 8300003 - System internal error.
1251   * @throws { BusinessError } 8300999 - Unknown error code.
1252   * @syscap SystemCapability.Telephony.CoreService
1253   * @systemapi Hide this for inner system use.
1254   * @since 8
1255   */
1256  function getPreferredNetwork(slotId: number, callback: AsyncCallback<PreferredNetworkMode>): void;
1257
1258  /**
1259   * Get the preferred network for the specified SIM card slot.
1260   *
1261   * @permission ohos.permission.GET_TELEPHONY_STATE
1262   * @param { number } slotId - Indicates the card slot index number,
1263   * ranging from 0 to the maximum card slot index number supported by the device.
1264   * @returns { Promise<PreferredNetworkMode> } Returns the callback for getting the preferred network mode to obtain.
1265   * @throws { BusinessError } 201 - Permission denied.
1266   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1267   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
1268   * 2. Incorrect parameter types.
1269   * @throws { BusinessError } 8300001 - Invalid parameter value.
1270   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1271   * @throws { BusinessError } 8300003 - System internal error.
1272   * @throws { BusinessError } 8300999 - Unknown error code.
1273   * @syscap SystemCapability.Telephony.CoreService
1274   * @systemapi Hide this for inner system use.
1275   * @since 8
1276   */
1277  function getPreferredNetwork(slotId: number): Promise<PreferredNetworkMode>;
1278
1279  /**
1280   * Get the IMS registration state info of specified IMS service type.
1281   *
1282   * @permission ohos.permission.GET_TELEPHONY_STATE
1283   * @param { number } slotId - Indicates the card slot index number,
1284   * ranging from 0 to the maximum card slot index number supported by the device.
1285   * @param { ImsServiceType } imsType - Indicates the ims service type of the {@link ImsServiceType}.
1286   * @param { AsyncCallback<ImsRegInfo> } callback - Indicates an instance of the {@link ImsRegInfo} class.
1287   * @throws { BusinessError } 201 - Permission denied.
1288   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1289   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
1290   * @throws { BusinessError } 8300001 - Invalid parameter value.
1291   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1292   * @throws { BusinessError } 8300003 - System internal error.
1293   * @throws { BusinessError } 8300999 - Unknown error code.
1294   * @syscap SystemCapability.Telephony.CoreService
1295   * @systemapi Hide this for inner system use.
1296   * @since 9
1297   */
1298  function getImsRegInfo(slotId: number, imsType: ImsServiceType, callback: AsyncCallback<ImsRegInfo>): void;
1299
1300  /**
1301   * Get the IMS registration state info of specified IMS service type.
1302   *
1303   * @permission ohos.permission.GET_TELEPHONY_STATE
1304   * @param { number } slotId - Indicates the card slot index number,
1305   * ranging from 0 to the maximum card slot index number supported by the device.
1306   * @param { ImsServiceType } imsType - Indicates the ims service type of the {@link ImsServiceType}.
1307   * @returns { Promise<ImsRegInfo> } Returns an instance of the {@link ImsRegInfo} class.
1308   * @throws { BusinessError } 201 - Permission denied.
1309   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1310   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
1311   * @throws { BusinessError } 8300001 - Invalid parameter value.
1312   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1313   * @throws { BusinessError } 8300003 - System internal error.
1314   * @throws { BusinessError } 8300999 - Unknown error code.
1315   * @syscap SystemCapability.Telephony.CoreService
1316   * @systemapi Hide this for inner system use.
1317   * @since 9
1318   */
1319  function getImsRegInfo(slotId: number, imsType: ImsServiceType): Promise<ImsRegInfo>;
1320
1321  /**
1322   * Called when the IMS registration state of specified IMS service type corresponding to
1323   * a monitored {@code slotId} updates.
1324   *
1325   * @permission ohos.permission.GET_TELEPHONY_STATE
1326   * @param { 'imsRegStateChange' } type - Event type. Indicates the imsRegStateChange event to be subscribed to.
1327   * @param { number } slotId - Indicates the card slot index number,
1328   * ranging from 0 to the maximum card slot index number supported by the device.
1329   * @param { ImsServiceType } imsType - Indicates the ims service type of the {@link ImsServiceType}.
1330   * @param { Callback<ImsRegInfo> } callback - Indicates the callback for getting an instance of
1331   * the {@link ImsRegInfo} class.
1332   * @throws { BusinessError } 201 - Permission denied.
1333   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1334   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
1335   * @throws { BusinessError } 8300001 - Invalid parameter value.
1336   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1337   * @throws { BusinessError } 8300003 - System internal error.
1338   * @throws { BusinessError } 8300999 - Unknown error code.
1339   * @syscap SystemCapability.Telephony.CoreService
1340   * @systemapi Hide this for inner system use.
1341   * @since 9
1342   */
1343  function on(type: 'imsRegStateChange', slotId: number, imsType: ImsServiceType, callback: Callback<ImsRegInfo>): void;
1344
1345  /**
1346   * Unsubscribe from imsRegStateChange event.
1347   *
1348   * @permission ohos.permission.GET_TELEPHONY_STATE
1349   * @param { 'imsRegStateChange' } type - Event type. Indicates the imsRegStateChange event to unsubscribe from.
1350   * @param { number } slotId - Indicates the card slot index number,
1351   * ranging from 0 to the maximum card slot index number supported by the device.
1352   * @param { ImsServiceType } imsType - Indicates the ims service type of the {@link ImsServiceType}.
1353   * @param { Callback<ImsRegInfo> } callback - Indicates the callback for getting
1354   * an instance of the {@link ImsRegInfo} class.
1355   * @throws { BusinessError } 201 - Permission denied.
1356   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1357   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
1358   * @throws { BusinessError } 8300001 - Invalid parameter value.
1359   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1360   * @throws { BusinessError } 8300003 - System internal error.
1361   * @throws { BusinessError } 8300999 - Unknown error code.
1362   * @syscap SystemCapability.Telephony.CoreService
1363   * @systemapi Hide this for inner system use.
1364   * @since 9
1365   */
1366  function off(type: 'imsRegStateChange', slotId: number, imsType: ImsServiceType, callback?: Callback<ImsRegInfo>): void;
1367
1368  /**
1369   * Get the version of Baseband.
1370   *
1371   * @permission ohos.permission.GET_TELEPHONY_STATE
1372   * @param { number } slotId - Indicates the card slot index number, ranging from 0 to the maximum card slot index number
1373   * supported by the device.
1374   * @param { AsyncCallback<string> } callback - Indicates the callback for getting the baseband version.
1375   * @throws { BusinessError } 201 - Permission denied.
1376   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1377   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
1378   * 2. Incorrect parameter types.
1379   * @throws { BusinessError } 8300001 - Invalid parameter value.
1380   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1381   * @throws { BusinessError } 8300003 - System internal error.
1382   * @throws { BusinessError } 8300999 - Unknown error code.
1383   * @syscap SystemCapability.Telephony.CoreService
1384   * @systemapi Hide this for inner system use.
1385   * @since 10
1386   */
1387  function getBasebandVersion(slotId: number, callback: AsyncCallback<string>): void;
1388
1389  /**
1390   * Get the version of Baseband.
1391   *
1392   * @permission ohos.permission.GET_TELEPHONY_STATE
1393   * @param { number } slotId - Indicates the card slot index number, ranging from 0 to the maximum card slot index number
1394   * supported by the device.
1395   * @returns { Promise<string> } Returns the baseband version.
1396   * @throws { BusinessError } 201 - Permission denied.
1397   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1398   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
1399   * 2. Incorrect parameter types.
1400   * @throws { BusinessError } 8300001 - Invalid parameter value.
1401   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1402   * @throws { BusinessError } 8300003 - System internal error.
1403   * @throws { BusinessError } 8300999 - Unknown error code.
1404   * @syscap SystemCapability.Telephony.CoreService
1405   * @systemapi Hide this for inner system use.
1406   * @since 10
1407   */
1408  function getBasebandVersion(slotId: number): Promise<string>;
1409
1410  /**
1411   * Set the NR option mode.
1412   *
1413   * @permission ohos.permission.SET_TELEPHONY_STATE
1414   * @param { number } slotId - Indicates the card slot index number, ranging from 0 to the maximum card slot index
1415   * number supported by the device.
1416   * @param { NROptionMode } mode - Indicates the nr option mode to be set.
1417   * @param { AsyncCallback<void> } callback - Indicates the callback for getting the option result.
1418   * @throws { BusinessError } 201 - Permission denied.
1419   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1420   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
1421   * 2. Incorrect parameter types.
1422   * @throws { BusinessError } 8300001 - Invalid parameter value.
1423   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1424   * @throws { BusinessError } 8300003 - System internal error.
1425   * @throws { BusinessError } 8300999 - Unknown error code.
1426   * @syscap SystemCapability.Telephony.CoreService
1427   * @systemapi Hide this for inner system use.
1428   * @since 10
1429   */
1430  function setNROptionMode(slotId: number, mode: NROptionMode, callback: AsyncCallback<void>): void;
1431
1432  /**
1433   * Set the NR option mode.
1434   *
1435   * @permission ohos.permission.SET_TELEPHONY_STATE
1436   * @param { number } slotId - Indicates the card slot index number, ranging from 0 to the maximum card slot index
1437   * number supported by the device.
1438   * @param { NROptionMode } mode - Indicates the nr option mode to be set.
1439   * @returns { Promise<void> } Returns option result.
1440   * @throws { BusinessError } 201 - Permission denied.
1441   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1442   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
1443   * 2. Incorrect parameter types.
1444   * @throws { BusinessError } 8300001 - Invalid parameter value.
1445   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1446   * @throws { BusinessError } 8300003 - System internal error.
1447   * @throws { BusinessError } 8300999 - Unknown error code.
1448   * @syscap SystemCapability.Telephony.CoreService
1449   * @systemapi Hide this for inner system use.
1450   * @since 10
1451   */
1452  function setNROptionMode(slotId: number, mode: NROptionMode): Promise<void>;
1453
1454  /**
1455   * Get the option mode of NR.
1456   *
1457   * @param { number } slotId - Indicates the card slot index number, ranging from 0 to the maximum card slot
1458   * index number supported by the device.
1459   * @param { AsyncCallback<NROptionMode> } callback - Indicates the callback for getting the selection mode of NR.
1460   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1461   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
1462   * 2. Incorrect parameter types.
1463   * @throws { BusinessError } 8300001 - Invalid parameter value.
1464   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1465   * @throws { BusinessError } 8300003 - System internal error.
1466   * @throws { BusinessError } 8300999 - Unknown error code.
1467   * @syscap SystemCapability.Telephony.CoreService
1468   * @systemapi Hide this for inner system use.
1469   * @since 10
1470   */
1471  function getNROptionMode(slotId: number, callback: AsyncCallback<NROptionMode>): void;
1472
1473  /**
1474   * Get the option mode of NR.
1475   *
1476   * @param { number } slotId - Indicates the card slot index number, ranging from 0 to the maximum card slot
1477   * index number supported by the device.
1478   * @returns { Promise<NROptionMode> } Returns the selection mode of NR.
1479   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1480   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
1481   * 2. Incorrect parameter types.
1482   * @throws { BusinessError } 8300001 - Invalid parameter value.
1483   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1484   * @throws { BusinessError } 8300003 - System internal error.
1485   * @throws { BusinessError } 8300999 - Unknown error code.
1486   * @syscap SystemCapability.Telephony.CoreService
1487   * @systemapi Hide this for inner system use.
1488   * @since 10
1489   */
1490  function getNROptionMode(slotId: number): Promise<NROptionMode>;
1491
1492  /**
1493   * Set the type and state for the specified network capability.
1494   *
1495   * @permission ohos.permission.SET_TELEPHONY_STATE
1496   * @param { number } slotId - Indicates the card slot index number,
1497   * ranging from 0 to the maximum card slot index number supported by the device.
1498   * @param { NetworkCapabilityType } type - Indicates the service type of the {@link NetworkCapabilityType}.
1499   * @param { NetworkCapabilityState } state - Indicates the service ability state of the {@link NetworkCapabilityState}.
1500   * @param { AsyncCallback<void> } callback - The callback of setNetworkCapability.
1501   * @throws { BusinessError } 201 - Permission denied.
1502   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1503   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
1504   * 2. Incorrect parameter types.
1505   * @throws { BusinessError } 8300001 - Invalid parameter value.
1506   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1507   * @throws { BusinessError } 8300003 - System internal error.
1508   * @throws { BusinessError } 8300999 - Unknown error code.
1509   * @syscap SystemCapability.Telephony.CoreService
1510   * @systemapi Hide this for inner system use.
1511   * @since 10
1512   */
1513  function setNetworkCapability(slotId: number, type: NetworkCapabilityType, state: NetworkCapabilityState,
1514    callback: AsyncCallback<void>): void;
1515
1516  /**
1517   * Set the type and state for the specified network capability.
1518   *
1519   * @permission ohos.permission.SET_TELEPHONY_STATE
1520   * @param { number } slotId - Indicates the card slot index number,
1521   * ranging from 0 to the maximum card slot index number supported by the device.
1522   * @param { NetworkCapabilityType } type - Indicates the service type of the {@link NetworkCapabilityType}.
1523   * @param { NetworkCapabilityState } state - Indicates the service ability state of the {@link NetworkCapabilityState}.
1524   * @returns { Promise<void> } The promise returned by the setNetworkCapability.
1525   * @throws { BusinessError } 201 - Permission denied.
1526   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1527   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
1528   * 2. Incorrect parameter types.
1529   * @throws { BusinessError } 8300001 - Invalid parameter value.
1530   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1531   * @throws { BusinessError } 8300003 - System internal error.
1532   * @throws { BusinessError } 8300999 - Unknown error code.
1533   * @syscap SystemCapability.Telephony.CoreService
1534   * @systemapi Hide this for inner system use.
1535   * @since 10
1536   */
1537  function setNetworkCapability(slotId: number, type: NetworkCapabilityType, state: NetworkCapabilityState): Promise<void>;
1538
1539  /**
1540   * Get the network capability state according to the specified capability type.
1541   *
1542   * @permission ohos.permission.GET_TELEPHONY_STATE
1543   * @param { number } slotId - Indicates the card slot index number,
1544   * ranging from 0 to the maximum card slot index number supported by the device.
1545   * @param { NetworkCapabilityType } type - Indicates the service type of the {@link NetworkCapabilityType}.
1546   * @param { AsyncCallback<NetworkCapabilityState> } callback - Indicates the callback for getting
1547   * the network capability state.
1548   * @throws { BusinessError } 201 - Permission denied.
1549   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1550   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
1551   * 2. Incorrect parameter types.
1552   * @throws { BusinessError } 8300001 - Invalid parameter value.
1553   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1554   * @throws { BusinessError } 8300003 - System internal error.
1555   * @throws { BusinessError } 8300999 - Unknown error code.
1556   * @syscap SystemCapability.Telephony.CoreService
1557   * @systemapi Hide this for inner system use.
1558   * @since 10
1559   */
1560  function getNetworkCapability(slotId: number, type: NetworkCapabilityType,
1561    callback: AsyncCallback<NetworkCapabilityState>): void;
1562
1563  /**
1564   * Get the network capability state according to the specified capability type.
1565   *
1566   * @permission ohos.permission.GET_TELEPHONY_STATE
1567   * @param { number } slotId - Indicates the card slot index number,
1568   * ranging from 0 to the maximum card slot index number supported by the device.
1569   * @param { NetworkCapabilityType } type - Indicates the service type of the {@link NetworkCapabilityType}.
1570   * @returns { Promise<NetworkCapabilityState> } Returns the callback for getting the network capability state.
1571   * @throws { BusinessError } 201 - Permission denied.
1572   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1573   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
1574   * 2. Incorrect parameter types.
1575   * @throws { BusinessError } 8300001 - Invalid parameter value.
1576   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1577   * @throws { BusinessError } 8300003 - System internal error.
1578   * @throws { BusinessError } 8300999 - Unknown error code.
1579   * @syscap SystemCapability.Telephony.CoreService
1580   * @systemapi Hide this for inner system use.
1581   * @since 10
1582   */
1583  function getNetworkCapability(slotId: number, type: NetworkCapabilityType): Promise<NetworkCapabilityState>;
1584
1585  /**
1586   * Reset all network settings of telephony.
1587   *
1588   * @permission ohos.permission.SET_TELEPHONY_STATE
1589   * @param { number } slotId - Indicates the card slot index number, ranging from 0 to the maximum card slot
1590   * index number supported by the device.
1591   * @returns { Promise<void> } The promise returned by the factoryReset.
1592   * @throws { BusinessError } 201 - Permission denied.
1593   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1594   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
1595   * 2. Incorrect parameter types.
1596   * @throws { BusinessError } 8300001 - Invalid parameter value.
1597   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1598   * @throws { BusinessError } 8300003 - System internal error.
1599   * @throws { BusinessError } 8300999 - Unknown error code.
1600   * @syscap SystemCapability.Telephony.CoreService
1601   * @systemapi Hide this for inner system use.
1602   * @since 11
1603   */
1604  function factoryReset(slotId: number): Promise<void>;
1605
1606  /**
1607   * Obtains the software version number of a specified card slot of the device.
1608   *
1609   * @permission ohos.permission.GET_TELEPHONY_STATE
1610   * @param { number } slotId - Indicates the card slot index number, ranging from 0 to the maximum card slot index number
1611   * supported by the device.
1612   * @returns { string } Returns the IMEISV. Returns an empty string if the IMEISV does not exist.
1613   * @throws { BusinessError } 201 - Permission denied.
1614   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1615   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
1616   * 2. Incorrect parameter types.
1617   * @throws { BusinessError } 8300001 - Invalid parameter value.
1618   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1619   * @throws { BusinessError } 8300003 - System internal error.
1620   * @throws { BusinessError } 8300999 - Unknown error code.
1621   * @syscap SystemCapability.Telephony.CoreService
1622   * @systemapi Hide this for inner system use.
1623   * @since 12
1624   */
1625  function getIMEISV(slotId: number): string;
1626
1627  /**
1628   * Checks whether the device supports dual 5G New Radio (NR).
1629   *
1630   * @returns { boolean } Returns {@code true} if the device supports dual NR; returns {@code false} otherwise.
1631   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1632   * @syscap SystemCapability.Telephony.CoreService
1633   * @systemapi Hide this for inner system use.
1634   * @since 12
1635   */
1636  function isDualNRSupported(): boolean;
1637
1638  /**
1639   * Indicates the preferred network.
1640   *
1641   * @enum { number }
1642   * @syscap SystemCapability.Telephony.CoreService
1643   * @systemapi Hide this for inner system use.
1644   * @since 8
1645   */
1646  export enum PreferredNetworkMode {
1647    /**
1648     * Preferred GSM network mode.
1649     *
1650     * @syscap SystemCapability.Telephony.CoreService
1651     * @systemapi Hide this for inner system use.
1652     * @since 8
1653     */
1654    PREFERRED_NETWORK_MODE_GSM = 1,
1655
1656    /**
1657     * Preferred WCDMA network mode.
1658     *
1659     * @syscap SystemCapability.Telephony.CoreService
1660     * @systemapi Hide this for inner system use.
1661     * @since 8
1662     */
1663    PREFERRED_NETWORK_MODE_WCDMA = 2,
1664
1665    /**
1666     * Preferred LTE mode.
1667     *
1668     * @syscap SystemCapability.Telephony.CoreService
1669     * @systemapi Hide this for inner system use.
1670     * @since 8
1671     */
1672    PREFERRED_NETWORK_MODE_LTE = 3,
1673
1674    /**
1675     * Preferred LTE/WCDMA network mode.
1676     *
1677     * @syscap SystemCapability.Telephony.CoreService
1678     * @systemapi Hide this for inner system use.
1679     * @since 8
1680     */
1681    PREFERRED_NETWORK_MODE_LTE_WCDMA = 4,
1682
1683    /**
1684     * Preferred LTE/WCDMA/GSM network mode.
1685     *
1686     * @syscap SystemCapability.Telephony.CoreService
1687     * @systemapi Hide this for inner system use.
1688     * @since 8
1689     */
1690    PREFERRED_NETWORK_MODE_LTE_WCDMA_GSM = 5,
1691
1692    /**
1693     * Preferred WCDMA/GSM network mode.
1694     *
1695     * @syscap SystemCapability.Telephony.CoreService
1696     * @systemapi Hide this for inner system use.
1697     * @since 8
1698     */
1699    PREFERRED_NETWORK_MODE_WCDMA_GSM = 6,
1700
1701    /**
1702     * Preferred CDMA network mode.
1703     *
1704     * @syscap SystemCapability.Telephony.CoreService
1705     * @systemapi Hide this for inner system use.
1706     * @since 8
1707     */
1708    PREFERRED_NETWORK_MODE_CDMA = 7,
1709
1710    /**
1711     * Preferred EVDO network mode.
1712     *
1713     * @syscap SystemCapability.Telephony.CoreService
1714     * @systemapi Hide this for inner system use.
1715     * @since 8
1716     */
1717    PREFERRED_NETWORK_MODE_EVDO = 8,
1718
1719    /**
1720     * Preferred EVDO/CDMA network mode.
1721     *
1722     * @syscap SystemCapability.Telephony.CoreService
1723     * @systemapi Hide this for inner system use.
1724     * @since 8
1725     */
1726    PREFERRED_NETWORK_MODE_EVDO_CDMA = 9,
1727
1728    /**
1729     * Preferred WCDMA/GSM/EVDO/CDMA network mode.
1730     *
1731     * @syscap SystemCapability.Telephony.CoreService
1732     * @systemapi Hide this for inner system use.
1733     * @since 8
1734     */
1735    PREFERRED_NETWORK_MODE_WCDMA_GSM_EVDO_CDMA = 10,
1736
1737    /**
1738     * Preferred LTE/EVDO/CDMA network mode.
1739     *
1740     * @syscap SystemCapability.Telephony.CoreService
1741     * @systemapi Hide this for inner system use.
1742     * @since 8
1743     */
1744    PREFERRED_NETWORK_MODE_LTE_EVDO_CDMA = 11,
1745
1746    /**
1747     * Preferred LTE/WCDMA/GSM/EVDO/CDMA network mode.
1748     *
1749     * @syscap SystemCapability.Telephony.CoreService
1750     * @systemapi Hide this for inner system use.
1751     * @since 8
1752     */
1753    PREFERRED_NETWORK_MODE_LTE_WCDMA_GSM_EVDO_CDMA = 12,
1754
1755    /**
1756     * Preferred TDSCDMA network mode.
1757     *
1758     * @syscap SystemCapability.Telephony.CoreService
1759     * @systemapi Hide this for inner system use.
1760     * @since 8
1761     */
1762    PREFERRED_NETWORK_MODE_TDSCDMA = 13,
1763
1764    /**
1765     * Preferred TDSCDMA/GSM network mode.
1766     *
1767     * @syscap SystemCapability.Telephony.CoreService
1768     * @systemapi Hide this for inner system use.
1769     * @since 8
1770     */
1771    PREFERRED_NETWORK_MODE_TDSCDMA_GSM = 14,
1772
1773    /**
1774     * Preferred TDSCDMA/WCDMA network mode.
1775     *
1776     * @syscap SystemCapability.Telephony.CoreService
1777     * @systemapi Hide this for inner system use.
1778     * @since 8
1779     */
1780    PREFERRED_NETWORK_MODE_TDSCDMA_WCDMA = 15,
1781
1782    /**
1783     * Preferred TDSCDMA/WCDMA/GSM network mode.
1784     *
1785     * @syscap SystemCapability.Telephony.CoreService
1786     * @systemapi Hide this for inner system use.
1787     * @since 8
1788     */
1789    PREFERRED_NETWORK_MODE_TDSCDMA_WCDMA_GSM = 16,
1790
1791    /**
1792     * Preferred LTE/TDSCDMA network mode.
1793     *
1794     * @syscap SystemCapability.Telephony.CoreService
1795     * @systemapi Hide this for inner system use.
1796     * @since 8
1797     */
1798    PREFERRED_NETWORK_MODE_LTE_TDSCDMA = 17,
1799
1800    /**
1801     * Preferred LTE/TDSCDMA/GSM network mode.
1802     *
1803     * @syscap SystemCapability.Telephony.CoreService
1804     * @systemapi Hide this for inner system use.
1805     * @since 8
1806     */
1807    PREFERRED_NETWORK_MODE_LTE_TDSCDMA_GSM = 18,
1808
1809    /**
1810     * Preferred LTE/TDSCDMA/WCDMA network mode.
1811     *
1812     * @syscap SystemCapability.Telephony.CoreService
1813     * @systemapi Hide this for inner system use.
1814     * @since 8
1815     */
1816    PREFERRED_NETWORK_MODE_LTE_TDSCDMA_WCDMA = 19,
1817
1818    /**
1819     * Preferred LTE/TDSCDMA/WCDMA/GSM network mode.
1820     *
1821     * @syscap SystemCapability.Telephony.CoreService
1822     * @systemapi Hide this for inner system use.
1823     * @since 8
1824     */
1825    PREFERRED_NETWORK_MODE_LTE_TDSCDMA_WCDMA_GSM = 20,
1826
1827    /**
1828     * Preferred TDSCDMA/WCDMA/GSM/EVDO/CDMA network mode.
1829     *
1830     * @syscap SystemCapability.Telephony.CoreService
1831     * @systemapi Hide this for inner system use.
1832     * @since 8
1833     */
1834    PREFERRED_NETWORK_MODE_TDSCDMA_WCDMA_GSM_EVDO_CDMA = 21,
1835
1836    /**
1837     * Preferred LTE/TDSCDMA/WCDMA/GSM/EVDO/CDMA network mode.
1838     *
1839     * @syscap SystemCapability.Telephony.CoreService
1840     * @systemapi Hide this for inner system use.
1841     * @since 8
1842     */
1843    PREFERRED_NETWORK_MODE_LTE_TDSCDMA_WCDMA_GSM_EVDO_CDMA = 22,
1844
1845    /**
1846     * Preferred NR network mode.
1847     *
1848     * @syscap SystemCapability.Telephony.CoreService
1849     * @systemapi Hide this for inner system use.
1850     * @since 8
1851     */
1852    PREFERRED_NETWORK_MODE_NR = 31,
1853
1854    /**
1855     * Preferred NR/LTE network mode.
1856     *
1857     * @syscap SystemCapability.Telephony.CoreService
1858     * @systemapi Hide this for inner system use.
1859     * @since 8
1860     */
1861    PREFERRED_NETWORK_MODE_NR_LTE = 32,
1862
1863    /**
1864     * Preferred NR/LTE/WCDMA network mode.
1865     *
1866     * @syscap SystemCapability.Telephony.CoreService
1867     * @systemapi Hide this for inner system use.
1868     * @since 8
1869     */
1870    PREFERRED_NETWORK_MODE_NR_LTE_WCDMA = 33,
1871
1872    /**
1873     * Preferred NR/LTE/WCDMA/GSM network mode.
1874     *
1875     * @syscap SystemCapability.Telephony.CoreService
1876     * @systemapi Hide this for inner system use.
1877     * @since 8
1878     */
1879    PREFERRED_NETWORK_MODE_NR_LTE_WCDMA_GSM = 34,
1880
1881    /**
1882     * Preferred NR/LTE/EVDO/CDMA network mode.
1883     *
1884     * @syscap SystemCapability.Telephony.CoreService
1885     * @systemapi Hide this for inner system use.
1886     * @since 8
1887     */
1888    PREFERRED_NETWORK_MODE_NR_LTE_EVDO_CDMA = 35,
1889
1890    /**
1891     * Preferred NR/LTE/WCDMA/GSM/EVDO/CDMA network mode.
1892     *
1893     * @syscap SystemCapability.Telephony.CoreService
1894     * @systemapi Hide this for inner system use.
1895     * @since 8
1896     */
1897    PREFERRED_NETWORK_MODE_NR_LTE_WCDMA_GSM_EVDO_CDMA = 36,
1898
1899    /**
1900     * Preferred NR/LTE/TDSCDMA network mode.
1901     *
1902     * @syscap SystemCapability.Telephony.CoreService
1903     * @systemapi Hide this for inner system use.
1904     * @since 8
1905     */
1906    PREFERRED_NETWORK_MODE_NR_LTE_TDSCDMA = 37,
1907
1908    /**
1909     * Preferred NR/LTE/TDSCDMA/GSM network mode.
1910     *
1911     * @syscap SystemCapability.Telephony.CoreService
1912     * @systemapi Hide this for inner system use.
1913     * @since 8
1914     */
1915    PREFERRED_NETWORK_MODE_NR_LTE_TDSCDMA_GSM = 38,
1916
1917    /**
1918     * Preferred NR/LTE/TDSCDMA/WCDMA network mode.
1919     *
1920     * @syscap SystemCapability.Telephony.CoreService
1921     * @systemapi Hide this for inner system use.
1922     * @since 8
1923     */
1924    PREFERRED_NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA = 39,
1925
1926    /**
1927     * Preferred NR/LTE/TDSCDMA/WCDMA/GSM network mode.
1928     *
1929     * @syscap SystemCapability.Telephony.CoreService
1930     * @systemapi Hide this for inner system use.
1931     * @since 8
1932     */
1933    PREFERRED_NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA_GSM = 40,
1934
1935    /**
1936     * Preferred NR/LTE/TDSCDMA/WCDMA/GSM/EVDO/CDMA network mode.
1937     *
1938     * @syscap SystemCapability.Telephony.CoreService
1939     * @systemapi Hide this for inner system use.
1940     * @since 8
1941     */
1942    PREFERRED_NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA_GSM_EVDO_CDMA = 41,
1943
1944    /**
1945     * Preferred network mode Maximum.
1946     *
1947     * @syscap SystemCapability.Telephony.CoreService
1948     * @systemapi Hide this for inner system use.
1949     * @since 8
1950     */
1951    PREFERRED_NETWORK_MODE_MAX_VALUE = 99,
1952  }
1953
1954  /**
1955   * Describes the radio access technology (RAT) of registered network.
1956   *
1957   * @interface NetworkRadioTech
1958   * @syscap SystemCapability.Telephony.CoreService
1959   * @since 11
1960   */
1961  export interface NetworkRadioTech {
1962    /**
1963     * Indicates radio access technology (RAT) of packet service (PS) domain.
1964     *
1965     * @syscap SystemCapability.Telephony.CoreService
1966     * @since 11
1967     */
1968    psRadioTech: RadioTechnology;
1969
1970    /**
1971     * Indicates radio access technology (RAT) of circuit service (CS) domain.
1972     *
1973     * @syscap SystemCapability.Telephony.CoreService
1974     * @since 11
1975     */
1976    csRadioTech: RadioTechnology;
1977  }
1978
1979  /**
1980   * Describes the radio access technology.
1981   *
1982   * @enum { number }
1983   * @syscap SystemCapability.Telephony.CoreService
1984   * @since 6
1985   */
1986  export enum RadioTechnology {
1987    /**
1988     * Indicates unknown radio access technology (RAT).
1989     *
1990     * @syscap SystemCapability.Telephony.CoreService
1991     * @since 6
1992     */
1993    RADIO_TECHNOLOGY_UNKNOWN = 0,
1994
1995    /**
1996     * Indicates that RAT is global system for mobile communications (GSM), including GSM, general packet
1997     * radio system (GPRS), and enhanced data rates for GSM evolution (EDGE).
1998     *
1999     * @syscap SystemCapability.Telephony.CoreService
2000     * @since 6
2001     */
2002    RADIO_TECHNOLOGY_GSM = 1,
2003
2004    /**
2005     * Indicates that RAT is code division multiple access (CDMA), including Interim Standard 95 (IS95) and
2006     * Single-Carrier Radio Transmission Technology (1xRTT).
2007     *
2008     * @syscap SystemCapability.Telephony.CoreService
2009     * @since 6
2010     */
2011    RADIO_TECHNOLOGY_1XRTT = 2,
2012
2013    /**
2014     * Indicates that RAT is wideband code division multiple address (WCDMA).
2015     *
2016     * @syscap SystemCapability.Telephony.CoreService
2017     * @since 6
2018     */
2019    RADIO_TECHNOLOGY_WCDMA = 3,
2020
2021    /**
2022     * Indicates that RAT is high-speed packet access (HSPA), including HSPA, high-speed downlink packet
2023     * access (HSDPA), and high-speed uplink packet access (HSUPA).
2024     *
2025     * @syscap SystemCapability.Telephony.CoreService
2026     * @since 6
2027     */
2028    RADIO_TECHNOLOGY_HSPA = 4,
2029
2030    /**
2031     * Indicates that RAT is evolved high-speed packet access (HSPA+), including HSPA+ and dual-carrier
2032     * HSPA+ (DC-HSPA+).
2033     *
2034     * @syscap SystemCapability.Telephony.CoreService
2035     * @since 6
2036     */
2037    RADIO_TECHNOLOGY_HSPAP = 5,
2038
2039    /**
2040     * Indicates that RAT is time division-synchronous code division multiple access (TD-SCDMA).
2041     *
2042     * @syscap SystemCapability.Telephony.CoreService
2043     * @since 6
2044     */
2045    RADIO_TECHNOLOGY_TD_SCDMA = 6,
2046
2047    /**
2048     * Indicates that RAT is evolution data only (EVDO), including EVDO Rev.0, EVDO Rev.A, and EVDO Rev.B.
2049     *
2050     * @syscap SystemCapability.Telephony.CoreService
2051     * @since 6
2052     */
2053    RADIO_TECHNOLOGY_EVDO = 7,
2054
2055    /**
2056     * Indicates that RAT is evolved high rate packet data (EHRPD).
2057     *
2058     * @syscap SystemCapability.Telephony.CoreService
2059     * @since 6
2060     */
2061    RADIO_TECHNOLOGY_EHRPD = 8,
2062
2063    /**
2064     * Indicates that RAT is long term evolution (LTE).
2065     *
2066     * @syscap SystemCapability.Telephony.CoreService
2067     * @since 6
2068     */
2069    RADIO_TECHNOLOGY_LTE = 9,
2070
2071    /**
2072     * Indicates that RAT is LTE carrier aggregation (LTE-CA).
2073     *
2074     * @syscap SystemCapability.Telephony.CoreService
2075     * @since 6
2076     */
2077    RADIO_TECHNOLOGY_LTE_CA = 10,
2078
2079    /**
2080     * Indicates that RAT is interworking WLAN (I-WLAN).
2081     *
2082     * @syscap SystemCapability.Telephony.CoreService
2083     * @since 6
2084     */
2085    RADIO_TECHNOLOGY_IWLAN = 11,
2086
2087    /**
2088     * Indicates that RAT is 5G new radio (NR).
2089     *
2090     * @syscap SystemCapability.Telephony.CoreService
2091     * @since 6
2092     */
2093    RADIO_TECHNOLOGY_NR = 12
2094  }
2095
2096  /**
2097   * Returns child class objects specific to the network type.
2098   *
2099   * @interface SignalInformation
2100   * @syscap SystemCapability.Telephony.CoreService
2101   * @since 6
2102   */
2103  export interface SignalInformation {
2104    /**
2105     * Obtains the network type corresponding to the signal.
2106     *
2107     * @type { NetworkType }
2108     * @syscap SystemCapability.Telephony.CoreService
2109     * @since 6
2110     */
2111    signalType: NetworkType;
2112
2113    /**
2114     * Obtains the signal level of the current network.
2115     *
2116     * @type { number }
2117     * @syscap SystemCapability.Telephony.CoreService
2118     * @since 6
2119     */
2120    signalLevel: number;
2121
2122    /**
2123     * rsrp for LTE and NR; dbm for CDMA and EVDO; rscp for WCDMA; rssi for GSM.
2124     *
2125     * @type { number }
2126     * @syscap SystemCapability.Telephony.CoreService
2127     * @since 9
2128     */
2129    dBm: number;
2130  }
2131
2132  /**
2133   * Describes the network type.
2134   *
2135   * @enum { number }
2136   * @syscap SystemCapability.Telephony.CoreService
2137   * @since 6
2138   */
2139  export enum NetworkType {
2140    /**
2141     * Indicates unknown network type.
2142     *
2143     * @syscap SystemCapability.Telephony.CoreService
2144     * @since 6
2145     */
2146    NETWORK_TYPE_UNKNOWN,
2147
2148    /**
2149     * Indicates that the network type is GSM.
2150     *
2151     * @syscap SystemCapability.Telephony.CoreService
2152     * @since 6
2153     */
2154    NETWORK_TYPE_GSM,
2155
2156    /**
2157     * Indicates that the network type is CDMA.
2158     *
2159     * @syscap SystemCapability.Telephony.CoreService
2160     * @since 6
2161     */
2162    NETWORK_TYPE_CDMA,
2163
2164    /**
2165     * Indicates that the network type is WCDMA.
2166     *
2167     * @syscap SystemCapability.Telephony.CoreService
2168     * @since 6
2169     */
2170    NETWORK_TYPE_WCDMA,
2171
2172    /**
2173     * Indicates that the network type is TD-SCDMA.
2174     *
2175     * @syscap SystemCapability.Telephony.CoreService
2176     * @since 6
2177     */
2178    NETWORK_TYPE_TDSCDMA,
2179
2180    /**
2181     * Indicates that the network type is LTE.
2182     *
2183     * @syscap SystemCapability.Telephony.CoreService
2184     * @since 6
2185     */
2186    NETWORK_TYPE_LTE,
2187
2188    /**
2189     * Indicates that the network type is 5G NR.
2190     *
2191     * @syscap SystemCapability.Telephony.CoreService
2192     * @since 6
2193     */
2194    NETWORK_TYPE_NR
2195  }
2196
2197  /**
2198   * Describes the network registration state.
2199   *
2200   * @interface NetworkState
2201   * @syscap SystemCapability.Telephony.CoreService
2202   * @since 6
2203   */
2204  export interface NetworkState {
2205    /**
2206     * Obtains the operator name in the long alphanumeric format of the registered network.
2207     *
2208     * Returns the operator name in the long alphanumeric format as a string;
2209     * returns an empty string if no operator name is obtained.
2210     *
2211     * @type { string }
2212     * @syscap SystemCapability.Telephony.CoreService
2213     * @since 6
2214     */
2215    longOperatorName: string;
2216
2217    /**
2218     * Obtains the operator name in the short alphanumeric format of the registered network.
2219     *
2220     * Returns the operator name in the short alphanumeric format as a string;
2221     * returns an empty string if no operator name is obtained.
2222     *
2223     * @type { string }
2224     * @syscap SystemCapability.Telephony.CoreService
2225     * @since 6
2226     */
2227    shortOperatorName: string;
2228
2229    /**
2230     * Obtains the PLMN code of the registered network.
2231     *
2232     * Returns the PLMN code as a string; returns an empty string if no operator name is obtained.
2233     *
2234     * @type { string }
2235     * @syscap SystemCapability.Telephony.CoreService
2236     * @since 6
2237     */
2238    plmnNumeric: string;
2239
2240    /**
2241     * Checks whether the device is roaming.
2242     *
2243     * @type { boolean }
2244     * @syscap SystemCapability.Telephony.CoreService
2245     * @since 6
2246     */
2247    isRoaming: boolean;
2248
2249    /**
2250     * Obtains the network registration status of the device.
2251     *
2252     * @type { RegState }
2253     * @syscap SystemCapability.Telephony.CoreService
2254     * @since 6
2255     */
2256    regState: RegState;
2257
2258    /**
2259     * Obtains the radio Access technology after config conversion.
2260     *
2261     * @type { RadioTechnology }
2262     * @syscap SystemCapability.Telephony.CoreService
2263     * @since 8
2264     */
2265    cfgTech: RadioTechnology;
2266
2267    /**
2268     * Obtains the NSA network registration status of the device.
2269     *
2270     * Returns the NSA network registration status {@code NsaState}.
2271     *
2272     * @type { NsaState }
2273     * @syscap SystemCapability.Telephony.CoreService
2274     * @since 6
2275     */
2276    nsaState: NsaState;
2277
2278    /**
2279     * Obtains the status of CA.
2280     *
2281     * Returns {@code true} if CA is actived; returns {@code false} otherwise.
2282     *
2283     * @type { boolean }
2284     * @syscap SystemCapability.Telephony.CoreService
2285     * @since 6
2286     */
2287    isCaActive: boolean;
2288
2289    /**
2290     * Checks whether this device is allowed to make emergency calls only.
2291     *
2292     * Returns {@code true} if this device is allowed to make emergency calls only;
2293     * returns {@code false} otherwise.
2294     *
2295     * @type { boolean }
2296     * @syscap SystemCapability.Telephony.CoreService
2297     * @since 6
2298     */
2299    isEmergency: boolean;
2300  }
2301
2302  /**
2303   * Describes the network registration state.
2304   *
2305   * @enum { number }
2306   * @syscap SystemCapability.Telephony.CoreService
2307   * @since 6
2308   */
2309  export enum RegState {
2310    /**
2311     * Indicates a state in which a device cannot use any service.
2312     *
2313     * @syscap SystemCapability.Telephony.CoreService
2314     * @since 6
2315     */
2316    REG_STATE_NO_SERVICE = 0,
2317
2318    /**
2319     * Indicates a state in which a device can use services properly.
2320     *
2321     * @syscap SystemCapability.Telephony.CoreService
2322     * @since 6
2323     */
2324    REG_STATE_IN_SERVICE = 1,
2325
2326    /**
2327     * Indicates a state in which a device can use only the emergency call service.
2328     *
2329     * @syscap SystemCapability.Telephony.CoreService
2330     * @since 6
2331     */
2332    REG_STATE_EMERGENCY_CALL_ONLY = 2,
2333
2334    /**
2335     * Indicates that the cellular radio is powered off.
2336     *
2337     * @syscap SystemCapability.Telephony.CoreService
2338     * @since 6
2339     */
2340    REG_STATE_POWER_OFF = 3
2341  }
2342
2343  /**
2344   * Describes the nsa state.
2345   *
2346   * @enum { number }
2347   * @syscap SystemCapability.Telephony.CoreService
2348   * @since 6
2349   */
2350  export enum NsaState {
2351    /**
2352     * Indicates that a device is idle under or is connected to an LTE cell that does not support NSA.
2353     *
2354     * @syscap SystemCapability.Telephony.CoreService
2355     * @since 6
2356     */
2357    NSA_STATE_NOT_SUPPORT = 1,
2358
2359    /**
2360     * Indicates that a device is idle under an LTE cell supporting NSA but not NR coverage detection.
2361     *
2362     * @syscap SystemCapability.Telephony.CoreService
2363     * @since 6
2364     */
2365    NSA_STATE_NO_DETECT = 2,
2366
2367    /**
2368     * Indicates that a device is connected to an LTE network under an LTE cell
2369     * that supports NSA and NR coverage detection.
2370     *
2371     * @syscap SystemCapability.Telephony.CoreService
2372     * @since 6
2373     */
2374    NSA_STATE_CONNECTED_DETECT = 3,
2375
2376    /**
2377     * Indicates that a device is idle under an LTE cell supporting NSA and NR coverage detection.
2378     *
2379     * @syscap SystemCapability.Telephony.CoreService
2380     * @since 6
2381     */
2382    NSA_STATE_IDLE_DETECT = 4,
2383
2384    /**
2385     * Indicates that a device is connected to an LTE + NR network under an LTE cell that supports NSA.
2386     *
2387     * @syscap SystemCapability.Telephony.CoreService
2388     * @since 6
2389     */
2390    NSA_STATE_DUAL_CONNECTED = 5,
2391
2392    /**
2393     * Indicates that a device is idle under or is connected to an NG-RAN cell while being attached to 5GC.
2394     *
2395     * @syscap SystemCapability.Telephony.CoreService
2396     * @since 6
2397     */
2398    NSA_STATE_SA_ATTACHED = 6
2399  }
2400
2401  /**
2402   * Obtains current cell information.
2403   *
2404   * @interface CellInformation
2405   * @syscap SystemCapability.Telephony.CoreService
2406   * @since 8
2407   */
2408  export interface CellInformation {
2409    /**
2410     * Obtains the network type of the serving cell.
2411     *
2412     * An application can call this method to determine the network type that the child class uses.
2413     *
2414     * @type { NetworkType }
2415     * @syscap SystemCapability.Telephony.CoreService
2416     * @since 8
2417     */
2418    networkType: NetworkType;
2419
2420    /**
2421     * Obtains the camp-on status of the serving cell.
2422     *
2423     * Returns {@code true} if the user equipment (UE) is camped on the cell; returns {@code false} otherwise.
2424     *
2425     * @type { boolean }
2426     * @syscap SystemCapability.Telephony.CoreService
2427     * @systemapi Hide this for inner system use.
2428     * @since 8
2429     */
2430    isCamped: boolean;
2431
2432    /**
2433     * Obtains the timestamp when the cell information is obtained.
2434     *
2435     * Returns a timestamp since boot, in nanoseconds.
2436     *
2437     * @type { number }
2438     * @syscap SystemCapability.Telephony.CoreService
2439     * @systemapi Hide this for inner system use.
2440     * @since 8
2441     */
2442    timeStamp: number;
2443
2444    /**
2445     * An abstract method of the parent class whose implementation depends on the child classes.
2446     * Returned child class objects vary according to the network type.
2447     * Returns child class objects specific to the network type.
2448     *
2449     * @type { SignalInformation }
2450     * @syscap SystemCapability.Telephony.CoreService
2451     * @since 8
2452     */
2453    signalInformation: SignalInformation;
2454
2455    /**
2456     * Obtains signal strength under different network formats.
2457     *
2458     * @type { CdmaCellInformation | GsmCellInformation | LteCellInformation | NrCellInformation
2459     * | TdscdmaCellInformation | WcdmaCellInformation }
2460     * @syscap SystemCapability.Telephony.CoreService
2461     * @systemapi Hide this for inner system use.
2462     * @since 8
2463     */
2464    data: CdmaCellInformation | GsmCellInformation | LteCellInformation | NrCellInformation | TdscdmaCellInformation
2465    | WcdmaCellInformation;
2466  }
2467
2468  /**
2469   * Obtains CDMA cell information.
2470   *
2471   * @interface CdmaCellInformation
2472   * @syscap SystemCapability.Telephony.CoreService
2473   * @systemapi Hide this for inner system use.
2474   * @since 8
2475   */
2476  export interface CdmaCellInformation {
2477    /**
2478     * Indicates the base station Id.
2479     *
2480     * @type { number }
2481     * @syscap SystemCapability.Telephony.CoreService
2482     * @systemapi Hide this for inner system use.
2483     * @since 8
2484     */
2485    baseId: number;
2486
2487    /**
2488     * Indicates the latitude.
2489     *
2490     * @type { number }
2491     * @syscap SystemCapability.Telephony.CoreService
2492     * @systemapi Hide this for inner system use.
2493     * @since 8
2494     */
2495    latitude: number;
2496
2497    /**
2498     * Indicates the longitude.
2499     *
2500     * @type { number }
2501     * @syscap SystemCapability.Telephony.CoreService
2502     * @systemapi Hide this for inner system use.
2503     * @since 8
2504     */
2505    longitude: number;
2506
2507    /**
2508     * Indicates the network identification code.
2509     *
2510     * @type { number }
2511     * @syscap SystemCapability.Telephony.CoreService
2512     * @systemapi Hide this for inner system use.
2513     * @since 8
2514     */
2515    nid: number;
2516
2517    /**
2518     * Indicates the system identification code.
2519     *
2520     * @type { number }
2521     * @syscap SystemCapability.Telephony.CoreService
2522     * @systemapi Hide this for inner system use.
2523     * @since 8
2524     */
2525    sid: number;
2526  }
2527
2528  /**
2529   * Obtains GSM cell information.
2530   *
2531   * @interface GsmCellInformation
2532   * @syscap SystemCapability.Telephony.CoreService
2533   * @systemapi Hide this for inner system use.
2534   * @since 8
2535   */
2536  export interface GsmCellInformation {
2537    /**
2538     * Indicates the location area code.
2539     *
2540     * @type { number }
2541     * @syscap SystemCapability.Telephony.CoreService
2542     * @systemapi Hide this for inner system use.
2543     * @since 8
2544     */
2545    lac: number;
2546
2547    /**
2548     * Indicates the cell identification.
2549     *
2550     * @type { number }
2551     * @syscap SystemCapability.Telephony.CoreService
2552     * @systemapi Hide this for inner system use.
2553     * @since 8
2554     */
2555    cellId: number;
2556
2557    /**
2558     * Indicates the ARFCN(absolute radio frequency channel number).
2559     *
2560     * @type { number }
2561     * @syscap SystemCapability.Telephony.CoreService
2562     * @systemapi Hide this for inner system use.
2563     * @since 8
2564     */
2565    arfcn: number;
2566
2567    /**
2568     * Indicates the base station identification code.
2569     *
2570     * @type { number }
2571     * @syscap SystemCapability.Telephony.CoreService
2572     * @systemapi Hide this for inner system use.
2573     * @since 8
2574     */
2575    bsic: number;
2576
2577    /**
2578     * Indicates the mobile country code.
2579     *
2580     * @type { string }
2581     * @syscap SystemCapability.Telephony.CoreService
2582     * @systemapi Hide this for inner system use.
2583     * @since 8
2584     */
2585    mcc: string;
2586
2587    /**
2588     * Indicates the mobile network code.
2589     *
2590     * @type { string }
2591     * @syscap SystemCapability.Telephony.CoreService
2592     * @systemapi Hide this for inner system use.
2593     * @since 8
2594     */
2595    mnc: string;
2596  }
2597
2598  /**
2599   * Obtains LTE cell information.
2600   *
2601   * @interface LteCellInformation
2602   * @syscap SystemCapability.Telephony.CoreService
2603   * @systemapi Hide this for inner system use.
2604   * @since 8
2605   */
2606  export interface LteCellInformation {
2607    /**
2608     * Indicates the cell global identification.
2609     *
2610     * @type { number }
2611     * @syscap SystemCapability.Telephony.CoreService
2612     * @systemapi Hide this for inner system use.
2613     * @since 8
2614     */
2615    cgi: number;
2616
2617    /**
2618     * Indicates the physical cell identification.
2619     *
2620     * @type { number }
2621     * @syscap SystemCapability.Telephony.CoreService
2622     * @systemapi Hide this for inner system use.
2623     * @since 8
2624     */
2625    pci: number;
2626
2627    /**
2628     * Indicates the tracking area code.
2629     *
2630     * @type { number }
2631     * @syscap SystemCapability.Telephony.CoreService
2632     * @systemapi Hide this for inner system use.
2633     * @since 8
2634     */
2635    tac: number;
2636
2637    /**
2638     * Indicates the E-UTRA Absolute Radio Frequency Channel Number.
2639     *
2640     * @type { number }
2641     * @syscap SystemCapability.Telephony.CoreService
2642     * @systemapi Hide this for inner system use.
2643     * @since 8
2644     */
2645    earfcn: number;
2646
2647    /**
2648     * Indicates the bandwidth.
2649     *
2650     * @type { number }
2651     * @syscap SystemCapability.Telephony.CoreService
2652     * @systemapi Hide this for inner system use.
2653     * @since 8
2654     */
2655    bandwidth: number;
2656
2657    /**
2658     * Indicates the mobile country code.
2659     *
2660     * @type { string }
2661     * @syscap SystemCapability.Telephony.CoreService
2662     * @systemapi Hide this for inner system use.
2663     * @since 8
2664     */
2665    mcc: string;
2666
2667    /**
2668     * Indicates the mobile network code.
2669     *
2670     * @type { string }
2671     * @syscap SystemCapability.Telephony.CoreService
2672     * @systemapi Hide this for inner system use.
2673     * @since 8
2674     */
2675    mnc: string;
2676
2677    /**
2678     * Support for New Radio_Dual Connectivity.
2679     *
2680     * @type { boolean }
2681     * @syscap SystemCapability.Telephony.CoreService
2682     * @systemapi Hide this for inner system use.
2683     * @since 8
2684     */
2685    isSupportEndc: boolean;
2686  }
2687
2688  /**
2689   * Obtains NR cell information.
2690   *
2691   * @interface NrCellInformation
2692   * @syscap SystemCapability.Telephony.CoreService
2693   * @systemapi Hide this for inner system use.
2694   * @since 8
2695   */
2696  export interface NrCellInformation {
2697    /**
2698     * Indicates the NR-ARFCN(NR Absolute Radio Frequency Channel Number).
2699     *
2700     * @type { number }
2701     * @syscap SystemCapability.Telephony.CoreService
2702     * @systemapi Hide this for inner system use.
2703     * @since 8
2704     */
2705    nrArfcn: number;
2706
2707    /**
2708     * Indicates the physical cell identification.
2709     *
2710     * @type { number }
2711     * @syscap SystemCapability.Telephony.CoreService
2712     * @systemapi Hide this for inner system use.
2713     * @since 8
2714     */
2715    pci: number;
2716
2717    /**
2718     * Indicates the tracking area code.
2719     *
2720     * @type { number }
2721     * @syscap SystemCapability.Telephony.CoreService
2722     * @systemapi Hide this for inner system use.
2723     * @since 8
2724     */
2725    tac: number;
2726
2727    /**
2728     * Indicates the 5G network cell ID.
2729     *
2730     * @type { number }
2731     * @syscap SystemCapability.Telephony.CoreService
2732     * @systemapi Hide this for inner system use.
2733     * @since 8
2734     */
2735    nci: number;
2736
2737    /**
2738     * Indicates the mobile country code.
2739     *
2740     * @type { string }
2741     * @syscap SystemCapability.Telephony.CoreService
2742     * @systemapi Hide this for inner system use.
2743     * @since 8
2744     */
2745    mcc: string;
2746
2747    /**
2748     * Indicates the mobile network code.
2749     *
2750     * @type { string }
2751     * @syscap SystemCapability.Telephony.CoreService
2752     * @systemapi Hide this for inner system use.
2753     * @since 8
2754     */
2755    mnc: string;
2756  }
2757
2758  /**
2759   * Obtains TDSCDMA cell information.
2760   *
2761   * @interface TdscdmaCellInformation
2762   * @syscap SystemCapability.Telephony.CoreService
2763   * @systemapi Hide this for inner system use.
2764   * @since 8
2765   */
2766  export interface TdscdmaCellInformation {
2767    /**
2768     * Indicates the location area code.
2769     *
2770     * @type { number }
2771     * @syscap SystemCapability.Telephony.CoreService
2772     * @systemapi Hide this for inner system use.
2773     * @since 8
2774     */
2775    lac: number;
2776
2777    /**
2778     * Indicates the cell ID.
2779     *
2780     * @type { number }
2781     * @syscap SystemCapability.Telephony.CoreService
2782     * @systemapi Hide this for inner system use.
2783     * @since 8
2784     */
2785    cellId: number;
2786
2787    /**
2788     * Indicates the cell parameter ID.
2789     *
2790     * @type { number }
2791     * @syscap SystemCapability.Telephony.CoreService
2792     * @systemapi Hide this for inner system use.
2793     * @since 8
2794     */
2795    cpid: number;
2796
2797    /**
2798     * Indicates the absolute radio frequency number.
2799     *
2800     * @type { number }
2801     * @syscap SystemCapability.Telephony.CoreService
2802     * @systemapi Hide this for inner system use.
2803     * @since 8
2804     */
2805    uarfcn: number;
2806
2807    /**
2808     * Indicates the mobile country code.
2809     *
2810     * @type { string }
2811     * @syscap SystemCapability.Telephony.CoreService
2812     * @systemapi Hide this for inner system use.
2813     * @since 8
2814     */
2815    mcc: string;
2816
2817    /**
2818     * Indicates the mobile network code.
2819     *
2820     * @type { string }
2821     * @syscap SystemCapability.Telephony.CoreService
2822     * @systemapi Hide this for inner system use.
2823     * @since 8
2824     */
2825    mnc: string;
2826  }
2827
2828  /**
2829   * Obtains WCDMA cell information.
2830   *
2831   * @interface WcdmaCellInformation
2832   * @syscap SystemCapability.Telephony.CoreService
2833   * @systemapi Hide this for inner system use.
2834   * @since 8
2835   */
2836  export interface WcdmaCellInformation {
2837    /**
2838     * Indicates the location area code.
2839     *
2840     * @type { number }
2841     * @syscap SystemCapability.Telephony.CoreService
2842     * @systemapi Hide this for inner system use.
2843     * @since 8
2844     */
2845    lac: number;
2846
2847    /**
2848     * Indicates the cell ID.
2849     *
2850     * @type { number }
2851     * @syscap SystemCapability.Telephony.CoreService
2852     * @systemapi Hide this for inner system use.
2853     * @since 8
2854     */
2855    cellId: number;
2856
2857    /**
2858     * Indicates the primary scrambling code.
2859     *
2860     * @type { number }
2861     * @syscap SystemCapability.Telephony.CoreService
2862     * @systemapi Hide this for inner system use.
2863     * @since 8
2864     */
2865    psc: number;
2866
2867    /**
2868     * Indicates the absolute radio frequency number.
2869     *
2870     * @type { number }
2871     * @syscap SystemCapability.Telephony.CoreService
2872     * @systemapi Hide this for inner system use.
2873     * @since 8
2874     */
2875    uarfcn: number;
2876
2877    /**
2878     * Indicates the mobile country code.
2879     *
2880     * @type { string }
2881     * @syscap SystemCapability.Telephony.CoreService
2882     * @systemapi Hide this for inner system use.
2883     * @since 8
2884     */
2885    mcc: string;
2886
2887    /**
2888     * Indicates the mobile network code.
2889     *
2890     * @type { string }
2891     * @syscap SystemCapability.Telephony.CoreService
2892     * @systemapi Hide this for inner system use.
2893     * @since 8
2894     */
2895    mnc: string;
2896  }
2897
2898  /**
2899   * Obtains the option mode of NR.
2900   *
2901   * @enum { number }
2902   * @syscap SystemCapability.Telephony.CoreService
2903   * @systemapi Hide this for inner system use.
2904   * @since 8
2905   * @deprecated since 10
2906   * @useinstead telephony.radio#NROptionMode
2907   */
2908  export enum NrOptionMode {
2909    /**
2910     * Indicates unknown NR networking mode.
2911     *
2912     * @syscap SystemCapability.Telephony.CoreService
2913     * @systemapi Hide this for inner system use.
2914     * @since 8
2915     * @deprecated since 10
2916     */
2917    NR_OPTION_UNKNOWN,
2918
2919    /**
2920     * Indicates that the NR networking mode is NSA only.
2921     *
2922     * @syscap SystemCapability.Telephony.CoreService
2923     * @systemapi Hide this for inner system use.
2924     * @since 8
2925     * @deprecated since 10
2926     */
2927    NR_OPTION_NSA_ONLY,
2928
2929    /**
2930     * Indicates that the NR networking mode is SA only.
2931     *
2932     * @syscap SystemCapability.Telephony.CoreService
2933     * @systemapi Hide this for inner system use.
2934     * @since 8
2935     * @deprecated since 10
2936     */
2937    NR_OPTION_SA_ONLY,
2938
2939    /**
2940     * Indicates that the NR networking mode is NSA and SA.
2941     *
2942     * @syscap SystemCapability.Telephony.CoreService
2943     * @systemapi Hide this for inner system use.
2944     * @since 8
2945     * @deprecated since 10
2946     */
2947    NR_OPTION_NSA_AND_SA,
2948  }
2949
2950  /**
2951   * Obtains the option mode of NR.
2952   *
2953   * @enum { number }
2954   * @syscap SystemCapability.Telephony.CoreService
2955   * @systemapi Hide this for inner system use.
2956   * @since 10
2957   */
2958  export enum NROptionMode {
2959    /**
2960     * Indicates unknown NR networking mode.
2961     *
2962     * @syscap SystemCapability.Telephony.CoreService
2963     * @systemapi Hide this for inner system use.
2964     * @since 10
2965     */
2966    NR_OPTION_UNKNOWN,
2967
2968    /**
2969     * Indicates that the NR networking mode is NSA only.
2970     *
2971     * @syscap SystemCapability.Telephony.CoreService
2972     * @systemapi Hide this for inner system use.
2973     * @since 10
2974     */
2975    NR_OPTION_NSA_ONLY,
2976
2977    /**
2978     * Indicates that the NR networking mode is SA only.
2979     *
2980     * @syscap SystemCapability.Telephony.CoreService
2981     * @systemapi Hide this for inner system use.
2982     * @since 10
2983     */
2984    NR_OPTION_SA_ONLY,
2985
2986    /**
2987     * Indicates that the NR networking mode is NSA and SA.
2988     *
2989     * @syscap SystemCapability.Telephony.CoreService
2990     * @systemapi Hide this for inner system use.
2991     * @since 10
2992     */
2993    NR_OPTION_NSA_AND_SA,
2994  }
2995
2996  /**
2997   * Obtains the network search results.
2998   *
2999   * @interface NetworkSearchResult
3000   * @syscap SystemCapability.Telephony.CoreService
3001   * @systemapi Hide this for inner system use.
3002   * @since 6
3003   */
3004  export interface NetworkSearchResult {
3005    /**
3006     * Indicates whether the network search was successful.
3007     *
3008     * @type { boolean }
3009     * @syscap SystemCapability.Telephony.CoreService
3010     * @systemapi Hide this for inner system use.
3011     * @since 6
3012     */
3013    isNetworkSearchSuccess: boolean;
3014
3015    /**
3016     * Obtains the network search results.
3017     *
3018     * @type { Array<NetworkInformation> }
3019     * @syscap SystemCapability.Telephony.CoreService
3020     * @systemapi Hide this for inner system use.
3021     * @since 6
3022     */
3023    networkSearchResult: Array<NetworkInformation>;
3024  }
3025
3026  /**
3027   * Obtains the network information.
3028   *
3029   * @interface NetworkInformation
3030   * @syscap SystemCapability.Telephony.CoreService
3031   * @systemapi Hide this for inner system use.
3032   * @since 6
3033   */
3034  export interface NetworkInformation {
3035    /**
3036     * Indicates the name of the operator.
3037     *
3038     * @type { string }
3039     * @syscap SystemCapability.Telephony.CoreService
3040     * @systemapi Hide this for inner system use.
3041     * @since 6
3042     */
3043    operatorName: string;
3044
3045    /**
3046     * Indicates the number of the operator.
3047     *
3048     * @type { string }
3049     * @syscap SystemCapability.Telephony.CoreService
3050     * @systemapi Hide this for inner system use.
3051     * @since 6
3052     */
3053    operatorNumeric: string;
3054
3055    /**
3056     * Indicates the status of network information.
3057     *
3058     * @type { NetworkInformationState }
3059     * @syscap SystemCapability.Telephony.CoreService
3060     * @systemapi Hide this for inner system use.
3061     * @since 6
3062     */
3063    state: NetworkInformationState;
3064
3065    /**
3066     * Indicates the radio Technology.
3067     *
3068     * @type { string }
3069     * @syscap SystemCapability.Telephony.CoreService
3070     * @systemapi Hide this for inner system use.
3071     * @since 6
3072     */
3073    radioTech: string;
3074  }
3075
3076  /**
3077   * Obtains network information status.
3078   *
3079   * @enum { number }
3080   * @syscap SystemCapability.Telephony.CoreService
3081   * @systemapi Hide this for inner system use.
3082   * @since 6
3083   */
3084  export enum NetworkInformationState {
3085    /**
3086     * Indicates that the network state is unknown.
3087     *
3088     * @syscap SystemCapability.Telephony.CoreService
3089     * @systemapi Hide this for inner system use.
3090     * @since 6
3091     */
3092    NETWORK_UNKNOWN,
3093
3094    /**
3095     * Indicates that the network is available for registration.
3096     *
3097     * @syscap SystemCapability.Telephony.CoreService
3098     * @systemapi Hide this for inner system use.
3099     * @since 6
3100     */
3101    NETWORK_AVAILABLE,
3102
3103    /**
3104     * Indicates that you have already registered with the network.
3105     *
3106     * @syscap SystemCapability.Telephony.CoreService
3107     * @systemapi Hide this for inner system use.
3108     * @since 6
3109     */
3110    NETWORK_CURRENT,
3111
3112    /**
3113     * Indicates that the network is unavailable for registration.
3114     *
3115     * @syscap SystemCapability.Telephony.CoreService
3116     * @systemapi Hide this for inner system use.
3117     * @since 6
3118     */
3119    NETWORK_FORBIDDEN
3120  }
3121
3122  /**
3123   * Obtains the network selection mode option.
3124   *
3125   * @interface NetworkSelectionModeOptions
3126   * @syscap SystemCapability.Telephony.CoreService
3127   * @systemapi Hide this for inner system use.
3128   * @since 6
3129   */
3130  export interface NetworkSelectionModeOptions {
3131    /**
3132     * Indicates the card slot index number, ranging from 0 to
3133     * the maximum card slot index number supported by the device.
3134     *
3135     * @type { number }
3136     * @syscap SystemCapability.Telephony.CoreService
3137     * @systemapi Hide this for inner system use.
3138     * @since 6
3139     */
3140    slotId: number;
3141
3142    /**
3143     * Indicates the network search mode of the SIM card.
3144     *
3145     * @type { NetworkSelectionMode }
3146     * @syscap SystemCapability.Telephony.CoreService
3147     * @systemapi Hide this for inner system use.
3148     * @since 6
3149     */
3150    selectMode: NetworkSelectionMode;
3151
3152    /**
3153     * Indicates the network information.
3154     *
3155     * @type { NetworkInformation }
3156     * @syscap SystemCapability.Telephony.CoreService
3157     * @systemapi Hide this for inner system use.
3158     * @since 6
3159     */
3160    networkInformation: NetworkInformation;
3161
3162    /**
3163     * Indicates whether to continue selecting the network selection mode.
3164     *
3165     * @type { boolean }
3166     * @syscap SystemCapability.Telephony.CoreService
3167     * @systemapi Hide this for inner system use.
3168     * @since 6
3169     */
3170    resumeSelection: boolean;
3171  }
3172
3173  /**
3174   * Obtains the network selection mode.
3175   *
3176   * @enum { number }
3177   * @syscap SystemCapability.Telephony.CoreService
3178   * @since 6
3179   */
3180  export enum NetworkSelectionMode {
3181    /**
3182     * Indicates that the network is unavailable for registration.
3183     *
3184     * @syscap SystemCapability.Telephony.CoreService
3185     * @since 6
3186     */
3187    NETWORK_SELECTION_UNKNOWN,
3188
3189    /**
3190     * Indicates that the network is unavailable for registration.
3191     *
3192     * @syscap SystemCapability.Telephony.CoreService
3193     * @since 6
3194     */
3195    NETWORK_SELECTION_AUTOMATIC,
3196
3197    /**
3198     * Manual network selection modes.
3199     *
3200     * @syscap SystemCapability.Telephony.CoreService
3201     * @since 6
3202     */
3203    NETWORK_SELECTION_MANUAL
3204  }
3205
3206  /**
3207   * Obtains IMS registration status.
3208   *
3209   * @enum { number }
3210   * @syscap SystemCapability.Telephony.CoreService
3211   * @systemapi Hide this for inner system use.
3212   * @since 9
3213   */
3214  export enum ImsRegState {
3215    /**
3216     * Indicates that the ims service is not registered.
3217     *
3218     * @syscap SystemCapability.Telephony.CoreService
3219     * @systemapi Hide this for inner system use.
3220     * @since 9
3221     */
3222    IMS_UNREGISTERED,
3223
3224    /**
3225     * Indicates that the ims service has been registered.
3226     *
3227     * @syscap SystemCapability.Telephony.CoreService
3228     * @systemapi Hide this for inner system use.
3229     * @since 9
3230     */
3231    IMS_REGISTERED,
3232  }
3233
3234  /**
3235   * Indicates IMS registration technology.
3236   *
3237   * @enum { number }
3238   * @syscap SystemCapability.Telephony.CoreService
3239   * @systemapi Hide this for inner system use.
3240   * @since 9
3241   */
3242  export enum ImsRegTech {
3243    /**
3244     * Indicates that ims has no registered technology.
3245     *
3246     * @syscap SystemCapability.Telephony.CoreService
3247     * @systemapi Hide this for inner system use.
3248     * @since 9
3249     */
3250    REGISTRATION_TECH_NONE,
3251
3252    /**
3253     * Indicates that ims registers LTE technology.
3254     *
3255     * @syscap SystemCapability.Telephony.CoreService
3256     * @systemapi Hide this for inner system use.
3257     * @since 9
3258     */
3259    REGISTRATION_TECH_LTE,
3260
3261    /**
3262     * Indicates that ims registers IWLAN technology.
3263     *
3264     * @syscap SystemCapability.Telephony.CoreService
3265     * @systemapi Hide this for inner system use.
3266     * @since 9
3267     */
3268    REGISTRATION_TECH_IWLAN,
3269
3270    /**
3271     * Indicates that ims registers NR technology.
3272     *
3273     * @syscap SystemCapability.Telephony.CoreService
3274     * @systemapi Hide this for inner system use.
3275     * @since 9
3276     */
3277    REGISTRATION_TECH_NR,
3278  }
3279
3280  /**
3281   * Indicates IMS registration information.
3282   *
3283   * @interface ImsRegInfo
3284   * @syscap SystemCapability.Telephony.CoreService
3285   * @systemapi Hide this for inner system use.
3286   * @since 9
3287   */
3288  export interface ImsRegInfo {
3289    /**
3290     * Indicates the registration status of the ims service.
3291     *
3292     * @type { ImsRegState }
3293     * @syscap SystemCapability.Telephony.CoreService
3294     * @systemapi Hide this for inner system use.
3295     * @since 9
3296     */
3297    imsRegState: ImsRegState;
3298
3299    /**
3300     * Indicates the mode of ims radio technology.
3301     *
3302     * @type { ImsRegTech }
3303     * @syscap SystemCapability.Telephony.CoreService
3304     * @systemapi Hide this for inner system use.
3305     * @since 9
3306     */
3307    imsRegTech: ImsRegTech;
3308  }
3309
3310  /**
3311   * Indicates the type of IMS service.
3312   *
3313   * @enum { number }
3314   * @syscap SystemCapability.Telephony.CoreService
3315   * @systemapi Hide this for inner system use.
3316   * @since 9
3317   */
3318  export enum ImsServiceType {
3319    /**
3320     * Indicates voice service.
3321     *
3322     * @syscap SystemCapability.Telephony.CoreService
3323     * @systemapi Hide this for inner system use.
3324     * @since 9
3325     */
3326    TYPE_VOICE,
3327
3328    /**
3329     * Indicates video service.
3330     *
3331     * @syscap SystemCapability.Telephony.CoreService
3332     * @systemapi Hide this for inner system use.
3333     * @since 9
3334     */
3335    TYPE_VIDEO,
3336
3337    /**
3338     * Indicates UT service.
3339     *
3340     * @syscap SystemCapability.Telephony.CoreService
3341     * @systemapi Hide this for inner system use.
3342     * @since 9
3343     */
3344    TYPE_UT,
3345
3346    /**
3347     * Indicates SMS service.
3348     *
3349     * @syscap SystemCapability.Telephony.CoreService
3350     * @systemapi Hide this for inner system use.
3351     * @since 9
3352     */
3353    TYPE_SMS,
3354  }
3355
3356  /**
3357   * Enum for network capability type.
3358   *
3359   * @enum { number }
3360   * @syscap SystemCapability.Telephony.CoreService
3361   * @systemapi Hide this for inner system use.
3362   * @since 10
3363   */
3364  export enum NetworkCapabilityType {
3365    /**
3366     * Indicates LTE network switch type.
3367     *
3368     * @syscap SystemCapability.Telephony.CoreService
3369     * @systemapi Hide this for inner system use.
3370     * @since 10
3371     */
3372    SERVICE_TYPE_LTE,
3373
3374    /**
3375     * Indicates NR network switch type.
3376     *
3377     * @syscap SystemCapability.Telephony.CoreService
3378     * @systemapi Hide this for inner system use.
3379     * @since 10
3380     */
3381    SERVICE_TYPE_NR,
3382  }
3383
3384  /**
3385   * Enum for network capability state.
3386   *
3387   * @enum { number }
3388   * @syscap SystemCapability.Telephony.CoreService
3389   * @systemapi Hide this for inner system use.
3390   * @since 10
3391   */
3392  export enum NetworkCapabilityState {
3393    /**
3394     * Indicates turn off network switch.
3395     *
3396     * @syscap SystemCapability.Telephony.CoreService
3397     * @systemapi Hide this for inner system use.
3398     * @since 10
3399     */
3400    SERVICE_CAPABILITY_OFF,
3401
3402    /**
3403     * Indicates turn on network switch.
3404     *
3405     * @syscap SystemCapability.Telephony.CoreService
3406     * @systemapi Hide this for inner system use.
3407     * @since 10
3408     */
3409    SERVICE_CAPABILITY_ON,
3410  }
3411}
3412
3413export default radio;
3414