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