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