• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (C) 2021-2023 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 *     http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16/**
17 * @file
18 * @kit TelephonyKit
19 */
20
21import type { AsyncCallback, Callback } from './@ohos.base';
22import type Context from './application/BaseContext';
23import type image from './@ohos.multimedia.image';
24
25/**
26 * Provides methods related to call management.
27 *
28 * @namespace call
29 * @syscap SystemCapability.Telephony.CallManager
30 * @since arkts {'1.1':'6','1.2':'20'}
31 * @arkts 1.1&1.2
32 */
33/**
34 * Provides methods related to call management.
35 *
36 * @namespace call
37 * @syscap SystemCapability.Telephony.CallManager
38 * @atomicservice
39 * @since arkts {'1.1':'11','1.2':'20'}
40 * @arkts 1.1&1.2
41 */
42declare namespace call {
43  /**
44   * Makes a call.
45   *
46   * @permission ohos.permission.PLACE_CALL
47   * @param { string } phoneNumber - Indicates the called number.
48   * @param { DialOptions } options - Indicates additional information carried in the call.
49   * @param { AsyncCallback<boolean> } callback - Indicates the callback for getting the result of the call.
50   * Returns {@code true} if the call request is successful; returns {@code false} otherwise.
51   * Note that the value {@code true} indicates only the successful processing of the request; it does not mean
52   * that the call is or can be connected.
53   * @syscap SystemCapability.Telephony.CallManager
54   * @since 6
55   * @deprecated since 9
56   * @useinstead telephony.call#dialCall
57   */
58  function dial(phoneNumber: string, options: DialOptions, callback: AsyncCallback<boolean>): void;
59
60  /**
61   * Makes a call.
62   *
63   * @permission ohos.permission.PLACE_CALL
64   * @param { string } phoneNumber - Indicates the called number.
65   * @param { DialOptions } options - Indicates additional information carried in the call.
66   * @returns { Promise<boolean> } Returns the result of the call.
67   * Returns {@code true} if the call request is successful; returns {@code false} otherwise.
68   * Note that the value {@code true} indicates only the successful processing of the request; it does not mean
69   * that the call is or can be connected.
70   * @syscap SystemCapability.Telephony.CallManager
71   * @since 6
72   * @deprecated since 9
73   * @useinstead telephony.call#dialCall
74   */
75  function dial(phoneNumber: string, options?: DialOptions): Promise<boolean>;
76
77  /**
78   * Makes a call.
79   *
80   * @permission ohos.permission.PLACE_CALL
81   * @param { string } phoneNumber - Indicates the called number.
82   * @param { AsyncCallback<boolean> } callback - Indicates the callback for getting the result of the call.
83   * Returns {@code true} if the call request is successful; returns {@code false} otherwise.
84   * Note that the value {@code true} indicates only the successful processing of the request; it does not mean
85   * that the call is or can be connected.
86   * @syscap SystemCapability.Telephony.CallManager
87   * @since 6
88   * @deprecated since 9
89   * @useinstead telephony.call#dialCall
90   */
91  function dial(phoneNumber: string, callback: AsyncCallback<boolean>): void;
92
93  /**
94   * Makes a call.
95   *
96   * @permission ohos.permission.PLACE_CALL
97   * @param { string } phoneNumber - Indicates the called number.
98   * @param { DialCallOptions } options - Indicates additional information carried in the call.
99   * @param { AsyncCallback<void> } callback - The callback of dialCall.
100   * @throws { BusinessError } 201 - Permission denied.
101   * @throws { BusinessError } 202 - Non-system applications use system APIs.
102   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
103   * 2. Incorrect parameters types;
104   * @throws { BusinessError } 8300001 - Invalid parameter value.
105   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
106   * @throws { BusinessError } 8300003 - System internal error.
107   * @throws { BusinessError } 8300005 - Airplane mode is on.
108   * @throws { BusinessError } 8300006 - Network not in service.
109   * @throws { BusinessError } 8300999 - Unknown error code.
110   * @syscap SystemCapability.Telephony.CallManager
111   * @systemapi Hide this for inner system use.
112   * @since 9
113   */
114  function dialCall(phoneNumber: string, options: DialCallOptions, callback: AsyncCallback<void>): void;
115
116  /**
117   * Makes a call.
118   *
119   * @permission ohos.permission.PLACE_CALL
120   * @param { string } phoneNumber - Indicates the called number.
121   * @param { DialCallOptions } options - Indicates additional information carried in the call.
122   * @returns { Promise<void> } The promise returned by the dialCall.
123   * @throws { BusinessError } 201 - Permission denied.
124   * @throws { BusinessError } 202 - Non-system applications use system APIs.
125   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
126   * 2. Incorrect parameters types;
127   * @throws { BusinessError } 8300001 - Invalid parameter value.
128   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
129   * @throws { BusinessError } 8300003 - System internal error.
130   * @throws { BusinessError } 8300005 - Airplane mode is on.
131   * @throws { BusinessError } 8300006 - Network not in service.
132   * @throws { BusinessError } 8300999 - Unknown error code.
133   * @syscap SystemCapability.Telephony.CallManager
134   * @systemapi Hide this for inner system use.
135   * @since 9
136   */
137  function dialCall(phoneNumber: string, options?: DialCallOptions): Promise<void>;
138
139  /**
140   * Makes a call.
141   *
142   * @permission ohos.permission.PLACE_CALL
143   * @param { string } phoneNumber - Indicates the called number.
144   * @param { AsyncCallback<void> } callback - The callback of dialCall.
145   * @throws { BusinessError } 201 - Permission denied.
146   * @throws { BusinessError } 202 - Non-system applications use system APIs.
147   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
148   * 2. Incorrect parameters types;
149   * @throws { BusinessError } 8300001 - Invalid parameter value.
150   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
151   * @throws { BusinessError } 8300003 - System internal error.
152   * @throws { BusinessError } 8300005 - Airplane mode is on.
153   * @throws { BusinessError } 8300006 - Network not in service.
154   * @throws { BusinessError } 8300999 - Unknown error code.
155   * @syscap SystemCapability.Telephony.CallManager
156   * @systemapi Hide this for inner system use.
157   * @since 9
158   */
159  function dialCall(phoneNumber: string, callback: AsyncCallback<void>): void;
160
161  /**
162   * Go to the dial screen and the called number is displayed.
163   *
164   * @param { string } phoneNumber - Indicates the called number.
165   * @param { AsyncCallback<void> } callback - The callback of makeCall.
166   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
167   * 2. Incorrect parameters types;
168   * @throws { BusinessError } 8300001 - Invalid parameter value.
169   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
170   * @throws { BusinessError } 8300003 - System internal error.
171   * @throws { BusinessError } 8300999 - Unknown error code.
172   * @syscap SystemCapability.Applications.Contacts
173   * @since arkts {'1.1':'7','1.2':'20'}
174   * @arkts 1.1&1.2
175   */
176  /**
177   * Go to the dial screen and the called number is displayed.
178   *
179   * @param { string } phoneNumber - Indicates the called number.
180   * @param { AsyncCallback<void> } callback - The callback of makeCall.
181   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
182   * 2. Incorrect parameters types;
183   * @throws { BusinessError } 8300001 - Invalid parameter value.
184   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
185   * @throws { BusinessError } 8300003 - System internal error.
186   * @throws { BusinessError } 8300999 - Unknown error code.
187   * @syscap SystemCapability.Applications.Contacts
188   * @atomicservice
189   * @since arkts {'1.1':'11','1.2':'20'}
190   * @arkts 1.1&1.2
191   */
192  function makeCall(phoneNumber: string, callback: AsyncCallback<void>): void;
193
194  /**
195   * Go to the dial screen and the called number is displayed.
196   *
197   * @param { string } phoneNumber - Indicates the called number.
198   * @returns { Promise<void> } The promise returned by the makeCall.
199   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
200   * 2. Incorrect parameters types;
201   * @throws { BusinessError } 8300001 - Invalid parameter value.
202   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
203   * @throws { BusinessError } 8300003 - System internal error.
204   * @throws { BusinessError } 8300999 - Unknown error code.
205   * @syscap SystemCapability.Applications.Contacts
206   * @since arkts {'1.1':'7','1.2':'20'}
207   * @arkts 1.1&1.2
208   */
209  /**
210   * Go to the dial screen and the called number is displayed.
211   *
212   * @param { string } phoneNumber - Indicates the called number.
213   * @returns { Promise<void> } The promise returned by the makeCall.
214   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
215   * 2. Incorrect parameters types;
216   * @throws { BusinessError } 8300001 - Invalid parameter value.
217   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
218   * @throws { BusinessError } 8300003 - System internal error.
219   * @throws { BusinessError } 8300999 - Unknown error code.
220   * @syscap SystemCapability.Applications.Contacts
221   * @atomicservice
222   * @since arkts {'1.1':'11','1.2':'20'}
223   * @arkts 1.1&1.2
224   */
225  function makeCall(phoneNumber: string): Promise<void>;
226
227  /**
228   * Go to the dial screen and the called number is displayed.
229   *
230   * @param { Context } context - Indicates the context.
231   * @param { string } phoneNumber - Indicates the called number.
232   * @returns { Promise<void> } The promise returned by the makeCall.
233   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
234   * 2. Incorrect parameters types;
235   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
236   * @throws { BusinessError } 8300003 - System internal error.
237   * @syscap SystemCapability.Applications.Contacts
238   * @atomicservice
239   * @since arkts {'1.1':'12','1.2':'20'}
240   * @arkts 1.1&1.2
241   */
242  function makeCall(context: Context, phoneNumber: string): Promise<void>;
243
244  /**
245   * Checks whether a call is ongoing.
246   *
247   * @param { AsyncCallback<boolean> } callback - The callback of hasCall. Returns {@code true} if at least one call is
248   * not in the {@link CallState#CALL_STATE_IDLE} state; returns {@code false} otherwise.
249   * @syscap SystemCapability.Telephony.CallManager
250   * @since 6
251   */
252  function hasCall(callback: AsyncCallback<boolean>): void;
253
254  /**
255   * Checks whether a call is ongoing.
256   *
257   * @returns { Promise<boolean> } Returns {@code true} if at least one call is not
258   * in the {@link CallState#CALL_STATE_IDLE} state; returns {@code false} otherwise.
259   * @syscap SystemCapability.Telephony.CallManager
260   * @since 6
261   */
262  function hasCall(): Promise<boolean>;
263
264  /**
265   * Checks whether a call is ongoing.
266   *
267   * @returns { boolean } Returns {@code true} if at least one call is not in the {@link CallState#CALL_STATE_IDLE}
268   * state; returns {@code false} otherwise.
269   * @syscap SystemCapability.Telephony.CallManager
270   * @since arkts {'1.1':'10','1.2':'20'}
271   * @arkts 1.1&1.2
272   */
273  function hasCallSync(): boolean;
274
275  /**
276   * Obtains the call state.
277   *
278   * If an incoming call is ringing or waiting, the system returns {@code CallState#CALL_STATE_RINGING}.
279   * If at least one call is in the active, hold, or dialing state, the system returns
280   * {@code CallState#CALL_STATE_OFFHOOK}.
281   * In other cases, the system returns {@code CallState#CALL_STATE_IDLE}.
282   *
283   * @param { AsyncCallback<CallState> } callback - Indicates the callback for getting the call state.
284   * @syscap SystemCapability.Telephony.CallManager
285   * @since 6
286   */
287  function getCallState(callback: AsyncCallback<CallState>): void;
288
289  /**
290   * Obtains the call state.
291   *
292   * If an incoming call is ringing or waiting, the system returns {@code CallState#CALL_STATE_RINGING}.
293   * If at least one call is in the active, hold, or dialing state, the system returns
294   * {@code CallState#CALL_STATE_OFFHOOK}.
295   * In other cases, the system returns {@code CallState#CALL_STATE_IDLE}.
296   *
297   * @returns { Promise<CallState> } Returns the call state.
298   * @syscap SystemCapability.Telephony.CallManager
299   * @since 6
300   */
301  function getCallState(): Promise<CallState>;
302
303  /**
304   * Obtains the call state.
305   *
306   * If an incoming call is ringing or waiting, the system returns {@code CallState#CALL_STATE_RINGING}.
307   * If at least one call is in the active, hold, or dialing state, the system returns
308   * {@code CallState#CALL_STATE_OFFHOOK}. In other cases, the system returns {@code CallState#CALL_STATE_IDLE}.
309   *
310   * @returns { CallState } Returns the call state.
311   * @syscap SystemCapability.Telephony.CallManager
312   * @since arkts {'1.1':'10','1.2':'20'}
313   * @arkts 1.1&1.2
314   */
315  function getCallStateSync(): CallState;
316
317  /**
318   * Stops the ringtone.
319   *
320   * If an incoming call is ringing, the phone stops ringing. Otherwise, this method does not function.
321   *
322   * @permission ohos.permission.SET_TELEPHONY_STATE
323   * @param { AsyncCallback<void> } callback - The callback of muteRinger.
324   * @throws { BusinessError } 201 - Permission denied.
325   * @throws { BusinessError } 202 - Non-system applications use system APIs.
326   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
327   * 2. Incorrect parameters types;
328   * @throws { BusinessError } 8300001 - Invalid parameter value.
329   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
330   * @throws { BusinessError } 8300003 - System internal error.
331   * @throws { BusinessError } 8300999 - Unknown error code.
332   * @syscap SystemCapability.Telephony.CallManager
333   * @systemapi Hide this for inner system use.
334   * @since 8
335   */
336  function muteRinger(callback: AsyncCallback<void>): void;
337
338  /**
339   * Stops the ringtone.
340   *
341   * If an incoming call is ringing, the phone stops ringing. Otherwise, this method does not function.
342   *
343   * @permission ohos.permission.SET_TELEPHONY_STATE
344   * @returns { Promise<void> } The promise returned by the muteRinger.
345   * @throws { BusinessError } 201 - Permission denied.
346   * @throws { BusinessError } 202 - Non-system applications use system APIs.
347   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
348   * @throws { BusinessError } 8300003 - System internal error.
349   * @throws { BusinessError } 8300999 - Unknown error code.
350   * @syscap SystemCapability.Telephony.CallManager
351   * @systemapi Hide this for inner system use.
352   * @since 8
353   */
354  function muteRinger(): Promise<void>;
355
356  /**
357   * Checks whether a device supports voice calls.
358   *
359   * The system checks whether the device has the capability to initiate a circuit switching (CS) or IP multimedia
360   * subsystem domain (IMS) call on a telephone service network. If the device supports only packet switching
361   * (even if the device supports OTT calls), {@code false} is returned.
362   *
363   * @returns { boolean } Returns {@code true} if the device supports voice calls; returns {@code false} otherwise.
364   * @syscap SystemCapability.Telephony.CallManager
365   * @since arkts {'1.1':'7','1.2':'20'}
366   * @arkts 1.1&1.2
367   */
368  function hasVoiceCapability(): boolean;
369
370  /**
371   * Checks whether a phone number is on the emergency number list.
372   *
373   * @param { string } phoneNumber - Indicates the phone number to check.
374   * @param { EmergencyNumberOptions } options - Indicates the additional information for emergency numbers.
375   * @param { AsyncCallback<boolean> } callback - Indicates the callback for isEmergencyPhoneNumber.
376   * Returns {@code true} if the phone number is on the emergency number list. Returns {@code false} otherwise.
377   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
378   * 2. Incorrect parameters types;
379   * @throws { BusinessError } 8300001 - Invalid parameter value.
380   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
381   * @throws { BusinessError } 8300003 - System internal error.
382   * @throws { BusinessError } 8300999 - Unknown error code.
383   * @syscap SystemCapability.Telephony.CallManager
384   * @since 7
385   */
386  function isEmergencyPhoneNumber(phoneNumber: string, options: EmergencyNumberOptions, callback: AsyncCallback<boolean>): void;
387
388  /**
389   * Checks whether a phone number is on the emergency number list.
390   *
391   * @param { string } phoneNumber - Indicates the phone number to check.
392   * @param { EmergencyNumberOptions } options - Indicates the additional information for emergency numbers.
393   * @returns { Promise<boolean> } Returns {@code true} if the phone number is on the emergency number list.
394   * Returns {@code false} otherwise.
395   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
396   * 2. Incorrect parameters types;
397   * @throws { BusinessError } 8300001 - Invalid parameter value.
398   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
399   * @throws { BusinessError } 8300003 - System internal error.
400   * @throws { BusinessError } 8300999 - Unknown error code.
401   * @syscap SystemCapability.Telephony.CallManager
402   * @since 7
403   */
404  function isEmergencyPhoneNumber(phoneNumber: string, options?: EmergencyNumberOptions): Promise<boolean>;
405
406  /**
407   * Checks whether a phone number is on the emergency number list.
408   *
409   * @param { string } phoneNumber - Indicates the phone number to check.
410   * @param { AsyncCallback<boolean> } callback - Indicates the callback for isEmergencyPhoneNumber.
411   * Returns {@code true} if the phone number is on the emergency number list. Returns {@code false} otherwise.
412   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
413   * 2. Incorrect parameters types;
414   * @throws { BusinessError } 8300001 - Invalid parameter value.
415   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
416   * @throws { BusinessError } 8300003 - System internal error.
417   * @throws { BusinessError } 8300999 - Unknown error code.
418   * @syscap SystemCapability.Telephony.CallManager
419   * @since 7
420   */
421  function isEmergencyPhoneNumber(phoneNumber: string, callback: AsyncCallback<boolean>): void;
422
423  /**
424   * Formats a phone number according to the Chinese Telephone Code Plan. Before the formatting,
425   * a phone number is in the format of country code (if any) + 3-digit service provider code
426   * + 4-digit area code + 4-digit subscriber number. After the formatting,
427   * each part is separated by a space.
428   *
429   * @param { string } phoneNumber - Indicates the phone number to format.
430   * @param { NumberFormatOptions } options - Indicates the country code option.
431   * @param { AsyncCallback<string> } callback - Indicates the callback to obtain a formatted phone number.
432   * Returns an empty string if the input phone number is invalid.
433   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
434   * 2. Incorrect parameters types;
435   * @throws { BusinessError } 8300001 - Invalid parameter value.
436   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
437   * @throws { BusinessError } 8300003 - System internal error.
438   * @throws { BusinessError } 8300999 - Unknown error code.
439   * @syscap SystemCapability.Telephony.CallManager
440   * @since arkts {'1.1':'7','1.2':'20'}
441   * @arkts 1.1&1.2
442   */
443  function formatPhoneNumber(phoneNumber: string, options: NumberFormatOptions, callback: AsyncCallback<string>): void;
444
445  /**
446   * Formats a phone number according to the Chinese Telephone Code Plan. Before the formatting,
447   * a phone number is in the format of country code (if any) + 3-digit service provider code
448   * + 4-digit area code + 4-digit subscriber number. After the formatting,
449   * each part is separated by a space.
450   *
451   * @param { string } phoneNumber - Indicates the phone number to format.
452   * @param { NumberFormatOptions } options - Indicates the country code option.
453   * @returns { Promise<string> } Returns the phone number after being formatted.
454   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
455   * 2. Incorrect parameters types;
456   * @throws { BusinessError } 8300001 - Invalid parameter value.
457   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
458   * @throws { BusinessError } 8300003 - System internal error.
459   * @throws { BusinessError } 8300999 - Unknown error code.
460   * @syscap SystemCapability.Telephony.CallManager
461   * @since arkts {'1.1':'7','1.2':'20'}
462   * @arkts 1.1&1.2
463   */
464  function formatPhoneNumber(phoneNumber: string, options?: NumberFormatOptions): Promise<string>;
465
466  /**
467   * Formats a phone number according to the Chinese Telephone Code Plan. Before the formatting,
468   * a phone number is in the format of country code (if any) + 3-digit service provider code
469   * + 4-digit area code + 4-digit subscriber number. After the formatting,
470   * each part is separated by a space.
471   *
472   * @param { string } phoneNumber - Indicates the phone number to format.
473   * @param { AsyncCallback<string> } callback - Indicates the callback to obtain a formatted phone number.
474   * Returns an empty string if the input phone number is invalid.
475   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
476   * 2. Incorrect parameters types;
477   * @throws { BusinessError } 8300001 - Invalid parameter value.
478   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
479   * @throws { BusinessError } 8300003 - System internal error.
480   * @throws { BusinessError } 8300999 - Unknown error code.
481   * @syscap SystemCapability.Telephony.CallManager
482   * @since arkts {'1.1':'7','1.2':'20'}
483   * @arkts 1.1&1.2
484   */
485  function formatPhoneNumber(phoneNumber: string, callback: AsyncCallback<string>): void;
486
487  /**
488   * Formats a phone number into an E.164 representation.
489   *
490   * @param { string } phoneNumber - Indicates the phone number to format.
491   * @param { string } countryCode - Indicates a two-digit country code defined in ISO 3166-1.
492   * @param { AsyncCallback<string> } callback - Returns an E.164 number.
493   * Returns an empty string if the input phone number is invalid.
494   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
495   * 2. Incorrect parameters types;
496   * @throws { BusinessError } 8300001 - Invalid parameter value.
497   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
498   * @throws { BusinessError } 8300003 - System internal error.
499   * @throws { BusinessError } 8300999 - Unknown error code.
500   * @syscap SystemCapability.Telephony.CallManager
501   * @since 7
502   */
503  function formatPhoneNumberToE164(phoneNumber: string, countryCode: string, callback: AsyncCallback<string>): void;
504
505  /**
506   * Formats a phone number into an E.164 representation.
507   *
508   * @param { string } phoneNumber - Indicates the phone number to format.
509   * @param { string } countryCode - Indicates a two-digit country code defined in ISO 3166-1.
510   * @returns { Promise<string> } Returns an E.164 number.
511   * Returns an empty string if the input phone number is invalid.
512   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
513   * 2. Incorrect parameters types;
514   * @throws { BusinessError } 8300001 - Invalid parameter value.
515   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
516   * @throws { BusinessError } 8300003 - System internal error.
517   * @throws { BusinessError } 8300999 - Unknown error code.
518   * @syscap SystemCapability.Telephony.CallManager
519   * @since 7
520   */
521  function formatPhoneNumberToE164(phoneNumber: string, countryCode: string): Promise<string>;
522
523  /**
524   * Answers the incoming call.
525   *
526   * @permission ohos.permission.ANSWER_CALL
527   * @param { number } callId - Indicates the identifier of the call to answer.
528   * @param { AsyncCallback<void> } callback - The callback of answerCall.
529   * @throws { BusinessError } 201 - Permission denied.
530   * @throws { BusinessError } 202 - Non-system applications use system APIs.
531   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
532   * 2. Incorrect parameters types;
533   * @throws { BusinessError } 8300001 - Invalid parameter value.
534   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
535   * @throws { BusinessError } 8300003 - System internal error.
536   * @throws { BusinessError } 8300999 - Unknown error code.
537   * @syscap SystemCapability.Telephony.CallManager
538   * @systemapi Hide this for inner system use.
539   * @since 9
540   */
541  function answerCall(callId: number, callback: AsyncCallback<void>): void;
542
543  /**
544   * Answers the incoming call.
545   *
546   * @permission ohos.permission.ANSWER_CALL
547   * @param { number } callId - Indicates the identifier of the call to answer.
548   * @returns { Promise<void> } The promise returned by the answerCall.
549   * @throws { BusinessError } 201 - Permission denied.
550   * @throws { BusinessError } 202 - Non-system applications use system APIs.
551   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
552   * 2. Incorrect parameters types;
553   * @throws { BusinessError } 8300001 - Invalid parameter value.
554   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
555   * @throws { BusinessError } 8300003 - System internal error.
556   * @throws { BusinessError } 8300999 - Unknown error code.
557   * @syscap SystemCapability.Telephony.CallManager
558   * @systemapi Hide this for inner system use.
559   * @since 9
560   */
561  function answerCall(callId?: number): Promise<void>;
562
563  /**
564   * Answers the incoming call without callId.
565   *
566   * @permission ohos.permission.ANSWER_CALL
567   * @param { AsyncCallback<void> } callback - The callback of answerCall.
568   * @throws { BusinessError } 201 - Permission denied.
569   * @throws { BusinessError } 202 - Non-system applications use system APIs.
570   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
571   * 2. Incorrect parameters types;
572   * @throws { BusinessError } 8300001 - Invalid parameter value.
573   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
574   * @throws { BusinessError } 8300003 - System internal error.
575   * @throws { BusinessError } 8300999 - Unknown error code.
576   * @syscap SystemCapability.Telephony.CallManager
577   * @systemapi Hide this for inner system use.
578   * @since 9
579   */
580  function answerCall(callback: AsyncCallback<void>): void;
581
582  /**
583   * Answers the incoming video call
584   *
585   * @permission ohos.permission.ANSWER_CALL
586   * @param { VideoStateType } videoState - Indicates the answer the call with video or voice.
587   * @param { number } callId - Indicates the identifier of the call to answer.
588   * @returns { Promise<void> } The promise returned by the answerCall.
589   * @throws { BusinessError } 201 - Permission denied.
590   * @throws { BusinessError } 202 - Non-system applications use system APIs.
591   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
592   * 2. Incorrect parameters types;
593   * @throws { BusinessError } 8300001 - Invalid parameter value.
594   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
595   * @throws { BusinessError } 8300003 - System internal error.
596   * @throws { BusinessError } 8300999 - Unknown error code.
597   * @syscap SystemCapability.Telephony.CallManager
598   * @systemapi Hide this for inner system use.
599   * @since 11
600   */
601  function answerCall(videoState: VideoStateType, callId: number): Promise<void>;
602
603  /**
604   * Hang up the foreground call.
605   *
606   * @permission ohos.permission.ANSWER_CALL
607   * @param { number } callId - Indicates the identifier of the call to hangup.
608   * @param { AsyncCallback<void> } callback - The callback of hangUpCall.
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 parameters types;
613   * @throws { BusinessError } 8300001 - Invalid parameter value.
614   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
615   * @throws { BusinessError } 8300003 - System internal error.
616   * @throws { BusinessError } 8300999 - Unknown error code.
617   * @syscap SystemCapability.Telephony.CallManager
618   * @systemapi Hide this for inner system use.
619   * @since 9
620   */
621  function hangUpCall(callId: number, callback: AsyncCallback<void>): void;
622
623  /**
624   * Hang up the foreground call.
625   *
626   * @permission ohos.permission.ANSWER_CALL
627   * @param { number } callId - Indicates the identifier of the call to hangup.
628   * @returns { Promise<void> } The promise returned by the hangUpCall.
629   * @throws { BusinessError } 201 - Permission denied.
630   * @throws { BusinessError } 202 - Non-system applications use system APIs.
631   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
632   * 2. Incorrect parameters types;
633   * @throws { BusinessError } 8300001 - Invalid parameter value.
634   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
635   * @throws { BusinessError } 8300003 - System internal error.
636   * @throws { BusinessError } 8300999 - Unknown error code.
637   * @syscap SystemCapability.Telephony.CallManager
638   * @systemapi Hide this for inner system use.
639   * @since 9
640   */
641  function hangUpCall(callId?: number): Promise<void>;
642
643  /**
644   * Hang up the foreground call without callId.
645   *
646   * @permission ohos.permission.ANSWER_CALL
647   * @param { AsyncCallback<void> } callback - The callback of hangUpCall.
648   * @throws { BusinessError } 201 - Permission denied.
649   * @throws { BusinessError } 202 - Non-system applications use system APIs.
650   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
651   * 2. Incorrect parameters types;
652   * @throws { BusinessError } 8300001 - Invalid parameter value.
653   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
654   * @throws { BusinessError } 8300003 - System internal error.
655   * @throws { BusinessError } 8300999 - Unknown error code.
656   * @syscap SystemCapability.Telephony.CallManager
657   * @systemapi Hide this for inner system use.
658   * @since 9
659   */
660  function hangUpCall(callback: AsyncCallback<void>): void;
661
662  /**
663   * Reject the incoming call.
664   *
665   * @permission ohos.permission.ANSWER_CALL
666   * @param { number } callId - Indicates the identifier of the call to reject.
667   * @param { RejectMessageOptions } options - Indicates the text message to reject.
668   * @param { AsyncCallback<void> } callback - The callback of rejectCall.
669   * @throws { BusinessError } 201 - Permission denied.
670   * @throws { BusinessError } 202 - Non-system applications use system APIs.
671   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
672   * 2. Incorrect parameters types;
673   * @throws { BusinessError } 8300001 - Invalid parameter value.
674   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
675   * @throws { BusinessError } 8300003 - System internal error.
676   * @throws { BusinessError } 8300999 - Unknown error code.
677   * @syscap SystemCapability.Telephony.CallManager
678   * @systemapi Hide this for inner system use.
679   * @since 9
680   */
681  function rejectCall(callId: number, options: RejectMessageOptions, callback: AsyncCallback<void>): void;
682
683  /**
684   * Reject the incoming call.
685   *
686   * @permission ohos.permission.ANSWER_CALL
687   * @param { number } callId - Indicates the identifier of the call to reject.
688   * @param { RejectMessageOptions } options - Indicates the text message to reject.
689   * @returns { Promise<void> } The promise returned by the rejectCall.
690   * @throws { BusinessError } 201 - Permission denied.
691   * @throws { BusinessError } 202 - Non-system applications use system APIs.
692   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
693   * 2. Incorrect parameters types;
694   * @throws { BusinessError } 8300001 - Invalid parameter value.
695   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
696   * @throws { BusinessError } 8300003 - System internal error.
697   * @throws { BusinessError } 8300999 - Unknown error code.
698   * @syscap SystemCapability.Telephony.CallManager
699   * @systemapi Hide this for inner system use.
700   * @since 9
701   */
702  function rejectCall(callId?: number, options?: RejectMessageOptions): Promise<void>;
703
704  /**
705   * Reject the incoming call.
706   *
707   * @permission ohos.permission.ANSWER_CALL
708   * @param { number } callId - Indicates the identifier of the call to reject.
709   * @param { AsyncCallback<void> } callback - The callback of rejectCall.
710   * @throws { BusinessError } 201 - Permission denied.
711   * @throws { BusinessError } 202 - Non-system applications use system APIs.
712   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
713   * 2. Incorrect parameters types;
714   * @throws { BusinessError } 8300001 - Invalid parameter value.
715   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
716   * @throws { BusinessError } 8300003 - System internal error.
717   * @throws { BusinessError } 8300999 - Unknown error code.
718   * @syscap SystemCapability.Telephony.CallManager
719   * @systemapi Hide this for inner system use.
720   * @since 9
721   */
722  function rejectCall(callId: number, callback: AsyncCallback<void>): void;
723
724  /**
725   * Reject the incoming call without callId.
726   *
727   * @permission ohos.permission.ANSWER_CALL
728   * @param { AsyncCallback<void> } callback - The callback of rejectCall.
729   * @throws { BusinessError } 201 - Permission denied.
730   * @throws { BusinessError } 202 - Non-system applications use system APIs.
731   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
732   * 2. Incorrect parameters types;
733   * @throws { BusinessError } 8300001 - Invalid parameter value.
734   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
735   * @throws { BusinessError } 8300003 - System internal error.
736   * @throws { BusinessError } 8300999 - Unknown error code.
737   * @syscap SystemCapability.Telephony.CallManager
738   * @systemapi Hide this for inner system use.
739   * @since 9
740   */
741  function rejectCall(callback: AsyncCallback<void>): void;
742
743  /**
744   * Reject the incoming call without callId.
745   *
746   * @permission ohos.permission.ANSWER_CALL
747   * @param { RejectMessageOptions } options - Indicates the text message to reject.
748   * @param { AsyncCallback<void> } callback - The callback of rejectCall.
749   * @throws { BusinessError } 201 - Permission denied.
750   * @throws { BusinessError } 202 - Non-system applications use system APIs.
751   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
752   * 2. Incorrect parameters types;
753   * @throws { BusinessError } 8300001 - Invalid parameter value.
754   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
755   * @throws { BusinessError } 8300003 - System internal error.
756   * @throws { BusinessError } 8300999 - Unknown error code.
757   * @syscap SystemCapability.Telephony.CallManager
758   * @systemapi Hide this for inner system use.
759   * @since 9
760   */
761  function rejectCall(options: RejectMessageOptions, callback: AsyncCallback<void>): void;
762
763  /**
764   * Keep a call on hold.
765   *
766   * @permission ohos.permission.ANSWER_CALL
767   * @param { number } callId - Indicates the identifier of the call.
768   * @param { AsyncCallback<void> } callback - The callback of holdCall.
769   * @throws { BusinessError } 201 - Permission denied.
770   * @throws { BusinessError } 202 - Non-system applications use system APIs.
771   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
772   * 2. Incorrect parameters types;
773   * @throws { BusinessError } 8300001 - Invalid parameter value.
774   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
775   * @throws { BusinessError } 8300003 - System internal error.
776   * @throws { BusinessError } 8300999 - Unknown error code.
777   * @syscap SystemCapability.Telephony.CallManager
778   * @systemapi Hide this for inner system use.
779   * @since 7
780   */
781  function holdCall(callId: number, callback: AsyncCallback<void>): void;
782
783  /**
784   * Keep a call on hold.
785   *
786   * @permission ohos.permission.ANSWER_CALL
787   * @param { number } callId - Indicates the identifier of the call.
788   * @returns { Promise<void> } The promise returned by the holdCall.
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 parameters types;
793   * @throws { BusinessError } 8300001 - Invalid parameter value.
794   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
795   * @throws { BusinessError } 8300003 - System internal error.
796   * @throws { BusinessError } 8300999 - Unknown error code.
797   * @syscap SystemCapability.Telephony.CallManager
798   * @systemapi Hide this for inner system use.
799   * @since 7
800   */
801  function holdCall(callId: number): Promise<void>;
802
803  /**
804   * Cancel call hold status.
805   *
806   * @permission ohos.permission.ANSWER_CALL
807   * @param { number } callId - Indicates the identifier of the call.
808   * @param { AsyncCallback<void> } callback - The callback of unHoldCall.
809   * @throws { BusinessError } 201 - Permission denied.
810   * @throws { BusinessError } 202 - Non-system applications use system APIs.
811   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
812   * 2. Incorrect parameters types;
813   * @throws { BusinessError } 8300001 - Invalid parameter value.
814   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
815   * @throws { BusinessError } 8300003 - System internal error.
816   * @throws { BusinessError } 8300999 - Unknown error code.
817   * @syscap SystemCapability.Telephony.CallManager
818   * @systemapi Hide this for inner system use.
819   * @since 7
820   */
821  function unHoldCall(callId: number, callback: AsyncCallback<void>): void;
822
823  /**
824   * Keep a call on hold.
825   *
826   * @permission ohos.permission.ANSWER_CALL
827   * @param { number } callId - Indicates the identifier of the call.
828   * @returns { Promise<void> } The promise returned by the unHoldCall.
829   * @throws { BusinessError } 201 - Permission denied.
830   * @throws { BusinessError } 202 - Non-system applications use system APIs.
831   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
832   * 2. Incorrect parameters types;
833   * @throws { BusinessError } 8300001 - Invalid parameter value.
834   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
835   * @throws { BusinessError } 8300003 - System internal error.
836   * @throws { BusinessError } 8300999 - Unknown error code.
837   * @syscap SystemCapability.Telephony.CallManager
838   * @systemapi Hide this for inner system use.
839   * @since 7
840   */
841  function unHoldCall(callId: number): Promise<void>;
842
843  /**
844   * Switch call.
845   *
846   * @permission ohos.permission.ANSWER_CALL
847   * @param { number } callId - Indicates the identifier of the call.
848   * @param { AsyncCallback<void> } callback - The callback of switchCall.
849   * @throws { BusinessError } 201 - Permission denied.
850   * @throws { BusinessError } 202 - Non-system applications use system APIs.
851   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
852   * 2. Incorrect parameters types;
853   * @throws { BusinessError } 8300001 - Invalid parameter value.
854   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
855   * @throws { BusinessError } 8300003 - System internal error.
856   * @throws { BusinessError } 8300999 - Unknown error code.
857   * @syscap SystemCapability.Telephony.CallManager
858   * @systemapi Hide this for inner system use.
859   * @since 7
860   */
861  function switchCall(callId: number, callback: AsyncCallback<void>): void;
862
863  /**
864   * Switch call.
865   *
866   * @permission ohos.permission.ANSWER_CALL
867   * @param { number } callId - Indicates the identifier of the call.
868   * @returns { Promise<void> } The promise returned by the switchCall.
869   * @throws { BusinessError } 201 - Permission denied.
870   * @throws { BusinessError } 202 - Non-system applications use system APIs.
871   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
872   * 2. Incorrect parameters types;
873   * @throws { BusinessError } 8300001 - Invalid parameter value.
874   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
875   * @throws { BusinessError } 8300003 - System internal error.
876   * @throws { BusinessError } 8300999 - Unknown error code.
877   * @syscap SystemCapability.Telephony.CallManager
878   * @systemapi Hide this for inner system use.
879   * @since 7
880   */
881  function switchCall(callId: number): Promise<void>;
882
883  /**
884   * Merge calls, merge two calls into conference calls.
885   *
886   * @param { number } callId - Indicates the identifier of the call.
887   * @param { AsyncCallback<void> } callback - The callback of combineConference.
888   * @throws { BusinessError } 202 - Non-system applications use system APIs.
889   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
890   * 2. Incorrect parameters types;
891   * @throws { BusinessError } 801 - Capability not supported.
892   * @throws { BusinessError } 8300001 - Invalid parameter value.
893   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
894   * @throws { BusinessError } 8300003 - System internal error.
895   * @throws { BusinessError } 8300007 - The number of conference calls exceeds the limit.
896   * @syscap SystemCapability.Telephony.CallManager
897   * @systemapi Hide this for inner system use.
898   * @since 11
899   */
900  function combineConference(callId: number, callback: AsyncCallback<void>): void;
901
902  /**
903   * Merge calls, merge two calls into conference calls.
904   *
905   * @param { number } callId - Indicates the identifier of the call.
906   * @returns { Promise<void> } The promise returned by the combineConference.
907   * @throws { BusinessError } 202 - Non-system applications use system APIs.
908   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
909   * 2. Incorrect parameters types;
910   * @throws { BusinessError } 801 - Capability not supported.
911   * @throws { BusinessError } 8300001 - Invalid parameter value.
912   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
913   * @throws { BusinessError } 8300003 - System internal error.
914   * @throws { BusinessError } 8300007 - The number of conference calls exceeds the limit.
915   * @syscap SystemCapability.Telephony.CallManager
916   * @systemapi Hide this for inner system use.
917   * @since 11
918   */
919  function combineConference(callId: number): Promise<void>;
920
921  /**
922   * Get the main call Id.
923   *
924   * @param { number } callId - Indicates the identifier of the call.
925   * @param { AsyncCallback<number> } callback - Indicates the callback for getting the main call id.
926   * @throws { BusinessError } 202 - Non-system applications use system APIs.
927   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
928   * 2. Incorrect parameters types;
929   * @throws { BusinessError } 801 - Capability not supported.
930   * @throws { BusinessError } 8300001 - Invalid parameter value.
931   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
932   * @throws { BusinessError } 8300003 - System internal error.
933   * @syscap SystemCapability.Telephony.CallManager
934   * @systemapi Hide this for inner system use.
935   * @since 7
936   */
937  function getMainCallId(callId: number, callback: AsyncCallback<number>): void;
938
939  /**
940   * Get the main call Id.
941   *
942   * @param { number } callId - Indicates the identifier of the call.
943   * @returns { Promise<number> } Returns the main call id.
944   * @throws { BusinessError } 202 - Non-system applications use system APIs.
945   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
946   * 2. Incorrect parameters types;
947   * @throws { BusinessError } 801 - Capability not supported.
948   * @throws { BusinessError } 8300001 - Invalid parameter value.
949   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
950   * @throws { BusinessError } 8300003 - System internal error.
951   * @syscap SystemCapability.Telephony.CallManager
952   * @systemapi Hide this for inner system use.
953   * @since 7
954   */
955  function getMainCallId(callId: number): Promise<number>;
956
957  /**
958   * Get the list of sub-call Ids.
959   *
960   * @param { number } callId - Indicates the identifier of the call.
961   * @param { AsyncCallback<Array<string>> } callback - Indicates the callback for getting the list of sub call ids.
962   * @throws { BusinessError } 202 - Non-system applications use system APIs.
963   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
964   * 2. Incorrect parameters types;
965   * @throws { BusinessError } 801 - Capability not supported.
966   * @throws { BusinessError } 8300001 - Invalid parameter value.
967   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
968   * @throws { BusinessError } 8300003 - System internal error.
969   * @syscap SystemCapability.Telephony.CallManager
970   * @systemapi Hide this for inner system use.
971   * @since 7
972   */
973  function getSubCallIdList(callId: number, callback: AsyncCallback<Array<string>>): void;
974
975  /**
976   * Get the list of sub-call Ids.
977   *
978   * @param { number } callId - Indicates the identifier of the call.
979   * @returns { Promise<Array<string>> } Returns the list of sub call ids.
980   * @throws { BusinessError } 202 - Non-system applications use system APIs.
981   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
982   * 2. Incorrect parameters types;
983   * @throws { BusinessError } 801 - Capability not supported.
984   * @throws { BusinessError } 8300001 - Invalid parameter value.
985   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
986   * @throws { BusinessError } 8300003 - System internal error.
987   * @syscap SystemCapability.Telephony.CallManager
988   * @systemapi Hide this for inner system use.
989   * @since 7
990   */
991  function getSubCallIdList(callId: number): Promise<Array<string>>;
992
993  /**
994   * Get the call Id list of the conference.
995   *
996   * @param { number } callId - Indicates the identifier of the call.
997   * @param { AsyncCallback<Array<string>> } callback - Indicates the callback for getting
998   * the call id list of conference calls.
999   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1000   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
1001   * 2. Incorrect parameters types;
1002   * @throws { BusinessError } 801 - Capability not supported.
1003   * @throws { BusinessError } 8300001 - Invalid parameter value.
1004   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1005   * @throws { BusinessError } 8300003 - System internal error.
1006   * @syscap SystemCapability.Telephony.CallManager
1007   * @systemapi Hide this for inner system use.
1008   * @since 7
1009   */
1010  function getCallIdListForConference(callId: number, callback: AsyncCallback<Array<string>>): void;
1011
1012  /**
1013   * Get the call Id list of the conference.
1014   *
1015   * @param { number } callId - Indicates the identifier of the call.
1016   * @returns { Promise<Array<string>> } Returns the call id list of conference calls.
1017   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1018   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
1019   * 2. Incorrect parameters types;
1020   * @throws { BusinessError } 801 - Capability not supported.
1021   * @throws { BusinessError } 8300001 - Invalid parameter value.
1022   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1023   * @throws { BusinessError } 8300003 - System internal error.
1024   * @syscap SystemCapability.Telephony.CallManager
1025   * @systemapi Hide this for inner system use.
1026   * @since 7
1027   */
1028  function getCallIdListForConference(callId: number): Promise<Array<string>>;
1029
1030  /**
1031   * Get call waiting status.
1032   *
1033   * @permission ohos.permission.GET_TELEPHONY_STATE
1034   * @param { number } slotId - Indicates the card slot index number,
1035   * ranging from 0 to the maximum card slot index number supported by the device.
1036   * @param { AsyncCallback<CallWaitingStatus> } callback - Indicates the callback for getting the call waiting status.
1037   * @throws { BusinessError } 201 - Permission denied.
1038   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1039   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
1040   * 2. Incorrect parameters types;
1041   * @throws { BusinessError } 801 - Capability not supported.
1042   * @throws { BusinessError } 8300001 - Invalid parameter value.
1043   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1044   * @throws { BusinessError } 8300003 - System internal error.
1045   * @syscap SystemCapability.Telephony.CallManager
1046   * @systemapi Hide this for inner system use.
1047   * @since 7
1048   */
1049  function getCallWaitingStatus(slotId: number, callback: AsyncCallback<CallWaitingStatus>): void;
1050
1051  /**
1052   * Get call waiting status.
1053   *
1054   * @permission ohos.permission.GET_TELEPHONY_STATE
1055   * @param { number } slotId - Indicates the card slot index number,
1056   * ranging from 0 to the maximum card slot index number supported by the device.
1057   * @returns { Promise<CallWaitingStatus> } Returns the callback for getting the call waiting status.
1058   * @throws { BusinessError } 201 - Permission denied.
1059   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1060   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
1061   * 2. Incorrect parameters types;
1062   * @throws { BusinessError } 801 - Capability not supported.
1063   * @throws { BusinessError } 8300001 - Invalid parameter value.
1064   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1065   * @throws { BusinessError } 8300003 - System internal error.
1066   * @syscap SystemCapability.Telephony.CallManager
1067   * @systemapi Hide this for inner system use.
1068   * @since 7
1069   */
1070  function getCallWaitingStatus(slotId: number): Promise<CallWaitingStatus>;
1071
1072  /**
1073   * Set call waiting.
1074   *
1075   * @permission ohos.permission.SET_TELEPHONY_STATE
1076   * @param { number } slotId - Indicates the card slot index number,
1077   * ranging from 0 to the maximum card slot index number supported by the device.
1078   * @param { boolean } activate - Indicates whether to activate or call wait.
1079   * @param { AsyncCallback<void> } callback - The callback of setCallWaiting.
1080   * @throws { BusinessError } 201 - Permission denied.
1081   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1082   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
1083   * 2. Incorrect parameters types;
1084   * @throws { BusinessError } 801 - Capability not supported.
1085   * @throws { BusinessError } 8300001 - Invalid parameter value.
1086   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1087   * @throws { BusinessError } 8300003 - System internal error.
1088   * @syscap SystemCapability.Telephony.CallManager
1089   * @systemapi Hide this for inner system use.
1090   * @since 7
1091   */
1092  function setCallWaiting(slotId: number, activate: boolean, callback: AsyncCallback<void>): void;
1093
1094  /**
1095   * Set call waiting.
1096   *
1097   * @permission ohos.permission.SET_TELEPHONY_STATE
1098   * @param { number } slotId - Indicates the card slot index number,
1099   * ranging from 0 to the maximum card slot index number supported by the device.
1100   * @param { boolean } activate - Indicates whether to activate or call wait.
1101   * @returns { Promise<void> } The promise returned by the setCallWaiting.
1102   * @throws { BusinessError } 201 - Permission denied.
1103   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1104   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
1105   * 2. Incorrect parameters types;
1106   * @throws { BusinessError } 801 - Capability not supported.
1107   * @throws { BusinessError } 8300001 - Invalid parameter value.
1108   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1109   * @throws { BusinessError } 8300003 - System internal error.
1110   * @syscap SystemCapability.Telephony.CallManager
1111   * @systemapi Hide this for inner system use.
1112   * @since 7
1113   */
1114  function setCallWaiting(slotId: number, activate: boolean): Promise<void>;
1115
1116  /**
1117   * Start DTMF(Dual Tone Multi Frequency).
1118   *
1119   * @param { number } callId - Indicates the identifier of the call.
1120   * @param { string } character - Indicates the characters sent.
1121   * @param { AsyncCallback<void> } callback - The callback of startDTMF.
1122   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1123   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
1124   * 2. Incorrect parameters types;
1125   * @throws { BusinessError } 801 - Capability not supported.
1126   * @throws { BusinessError } 8300001 - Invalid parameter value.
1127   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1128   * @throws { BusinessError } 8300003 - System internal error.
1129   * @syscap SystemCapability.Telephony.CallManager
1130   * @systemapi Hide this for inner system use.
1131   * @since 7
1132   */
1133  function startDTMF(callId: number, character: string, callback: AsyncCallback<void>): void;
1134
1135  /**
1136   * Start DTMF(Dual Tone Multi Frequency).
1137   *
1138   * @param { number } callId - Indicates the identifier of the call.
1139   * @param { string } character - Indicates the characters sent.
1140   * @returns { Promise<void> } The promise returned by the startDTMF.
1141   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1142   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
1143   * 2. Incorrect parameters types;
1144   * @throws { BusinessError } 801 - Capability not supported.
1145   * @throws { BusinessError } 8300001 - Invalid parameter value.
1146   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1147   * @throws { BusinessError } 8300003 - System internal error.
1148   * @syscap SystemCapability.Telephony.CallManager
1149   * @systemapi Hide this for inner system use.
1150   * @since 7
1151   */
1152  function startDTMF(callId: number, character: string): Promise<void>;
1153
1154  /**
1155   * Stop DTMF(Dual Tone Multi Frequency).
1156   *
1157   * @param { number } callId - Indicates the identifier of the call.
1158   * @param { AsyncCallback<void> } callback - The callback of stopDTMF.
1159   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1160   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
1161   * 2. Incorrect parameters types;
1162   * @throws { BusinessError } 801 - Capability not supported.
1163   * @throws { BusinessError } 8300001 - Invalid parameter value.
1164   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1165   * @throws { BusinessError } 8300003 - System internal error.
1166   * @syscap SystemCapability.Telephony.CallManager
1167   * @systemapi Hide this for inner system use.
1168   * @since 7
1169   */
1170  function stopDTMF(callId: number, callback: AsyncCallback<void>): void;
1171
1172  /**
1173   * Stop DTMF(Dual Tone Multi Frequency).
1174   *
1175   * @param { number } callId - Indicates the identifier of the call.
1176   * @returns { Promise<void> } The promise returned by the stopDTMF.
1177   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1178   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
1179   * 2. Incorrect parameters types;
1180   * @throws { BusinessError } 801 - Capability not supported.
1181   * @throws { BusinessError } 8300001 - Invalid parameter value.
1182   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1183   * @throws { BusinessError } 8300003 - System internal error.
1184   * @syscap SystemCapability.Telephony.CallManager
1185   * @systemapi Hide this for inner system use.
1186   * @since 7
1187   */
1188  function stopDTMF(callId: number): Promise<void>;
1189
1190  /**
1191   * Continue post-dial DTMF(Dual Tone Multi Frequency).
1192   *
1193   * @permission ohos.permission.SET_TELEPHONY_STATE
1194   * @param { number } callId - Indicates the identifier of the call.
1195   * @param { boolean } proceed - Indicates whether to continue the post-dial DTMF.
1196   * @param { AsyncCallback<void> } callback - The callback of postDialProceed.
1197   * @throws { BusinessError } 201 - Permission denied.
1198   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1199   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
1200   * 2. Incorrect parameters types;
1201   * @throws { BusinessError } 801 - Capability not supported.
1202   * @throws { BusinessError } 8300001 - Invalid parameter value.
1203   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1204   * @throws { BusinessError } 8300003 - System internal error.
1205   * @syscap SystemCapability.Telephony.CallManager
1206   * @systemapi Hide this for inner system use.
1207   * @since 11
1208   */
1209  function postDialProceed(callId: number, proceed: boolean, callback: AsyncCallback<void>): void;
1210
1211  /**
1212   * Continue post-dial DTMF(Dual Tone Multi Frequency).
1213   *
1214   * @permission ohos.permission.SET_TELEPHONY_STATE
1215   * @param { number } callId - Indicates the identifier of the call.
1216   * @param { boolean } proceed - Indicates whether to continue the post-dial DTMF.
1217   * @returns { Promise<void> } The promise returned by the postDialProceed.
1218   * @throws { BusinessError } 201 - Permission denied.
1219   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1220   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
1221   * 2. Incorrect parameters types;
1222   * @throws { BusinessError } 801 - Capability not supported.
1223   * @throws { BusinessError } 8300001 - Invalid parameter value.
1224   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1225   * @throws { BusinessError } 8300003 - System internal error.
1226   * @syscap SystemCapability.Telephony.CallManager
1227   * @systemapi Hide this for inner system use.
1228   * @since 11
1229   */
1230  function postDialProceed(callId: number, proceed: boolean): Promise<void>;
1231
1232  /**
1233   * Judge whether the emergency call is in progress.
1234   *
1235   * @permission ohos.permission.SET_TELEPHONY_STATE
1236   * @param { AsyncCallback<boolean> } callback - The callback of isInEmergencyCall.
1237   * Returns {@code true} if the call is in emergency; returns {@code false} otherwise.
1238   * @throws { BusinessError } 201 - Permission denied.
1239   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1240   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
1241   * 2. Incorrect parameters types;
1242   * @throws { BusinessError } 8300001 - Invalid parameter value.
1243   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1244   * @throws { BusinessError } 8300003 - System internal error.
1245   * @throws { BusinessError } 8300999 - Unknown error code.
1246   * @syscap SystemCapability.Telephony.CallManager
1247   * @systemapi Hide this for inner system use.
1248   * @since 7
1249   */
1250  function isInEmergencyCall(callback: AsyncCallback<boolean>): void;
1251
1252  /**
1253   * Judge whether the emergency call is in progress.
1254   *
1255   * @permission ohos.permission.SET_TELEPHONY_STATE
1256   * @returns { Promise<boolean> } Returns {@code true} if the call is in emergency; returns {@code false} otherwise.
1257   * @throws { BusinessError } 201 - Permission denied.
1258   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1259   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1260   * @throws { BusinessError } 8300003 - System internal error.
1261   * @throws { BusinessError } 8300999 - Unknown error code.
1262   * @syscap SystemCapability.Telephony.CallManager
1263   * @systemapi Hide this for inner system use.
1264   * @since 7
1265   */
1266  function isInEmergencyCall(): Promise<boolean>;
1267
1268  /**
1269   * Subscribe to the callDetailsChange event.
1270   *
1271   * @permission ohos.permission.SET_TELEPHONY_STATE
1272   * @param { 'callDetailsChange' } type - Event type. Indicates the callDetailsChange event to be subscribed to.
1273   * @param { Callback<CallAttributeOptions> } callback - Indicates the callback for getting the result of call details.
1274   * @throws { BusinessError } 201 - Permission denied.
1275   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1276   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
1277   * 2. Incorrect parameters types;
1278   * @throws { BusinessError } 8300001 - Invalid parameter value.
1279   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1280   * @throws { BusinessError } 8300003 - System internal error.
1281   * @throws { BusinessError } 8300999 - Unknown error code.
1282   * @syscap SystemCapability.Telephony.CallManager
1283   * @systemapi Hide this for inner system use.
1284   * @since arkts {'1.1':'7','1.2':'20'}
1285   * @arkts 1.1&1.2
1286   */
1287  function on(type: 'callDetailsChange', callback: Callback<CallAttributeOptions>): void;
1288
1289  /**
1290   * Unsubscribe from the callDetailsChange event.
1291   *
1292   * @permission ohos.permission.SET_TELEPHONY_STATE
1293   * @param { 'callDetailsChange' } type - Event type. Indicates the callDetailsChange event to unsubscribe from.
1294   * @param { Callback<CallAttributeOptions> } callback - Indicates the callback to unsubscribe from
1295   * the callDetailsChange event.
1296   * @throws { BusinessError } 201 - Permission denied.
1297   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1298   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
1299   * 2. Incorrect parameters types;
1300   * @throws { BusinessError } 8300001 - Invalid parameter value.
1301   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1302   * @throws { BusinessError } 8300003 - System internal error.
1303   * @throws { BusinessError } 8300999 - Unknown error code.
1304   * @syscap SystemCapability.Telephony.CallManager
1305   * @systemapi Hide this for inner system use.
1306   * @since arkts {'1.1':'7','1.2':'20'}
1307   * @arkts 1.1&1.2
1308   */
1309  function off(type: 'callDetailsChange', callback?: Callback<CallAttributeOptions>): void;
1310
1311  /**
1312   * Subscribe to the callEventChange event.
1313   *
1314   * @permission ohos.permission.SET_TELEPHONY_STATE
1315   * @param { 'callEventChange' } type - Event type. Indicates the callEventChange event to be subscribed to.
1316   * @param { Callback<CallEventOptions> } callback - Indicates the callback for getting the call event id.
1317   * @throws { BusinessError } 201 - Permission denied.
1318   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1319   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
1320   * 2. Incorrect parameters types;
1321   * @throws { BusinessError } 8300001 - Invalid parameter value.
1322   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1323   * @throws { BusinessError } 8300003 - System internal error.
1324   * @throws { BusinessError } 8300999 - Unknown error code.
1325   * @syscap SystemCapability.Telephony.CallManager
1326   * @systemapi Hide this for inner system use.
1327   * @since arkts {'1.1':'8','1.2':'20'}
1328   * @arkts 1.1&1.2
1329   */
1330  function on(type: 'callEventChange', callback: Callback<CallEventOptions>): void;
1331
1332  /**
1333   * Unsubscribe from the callEventChange event.
1334   *
1335   * @permission ohos.permission.SET_TELEPHONY_STATE
1336   * @param { 'callEventChange' } type - Event type. Indicates the callEventChange event to unsubscribe from.
1337   * @param { Callback<CallEventOptions> } callback - Indicates the callback to unsubscribe from the callEventChange event.
1338   * @throws { BusinessError } 201 - Permission denied.
1339   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1340   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
1341   * 2. Incorrect parameters types;
1342   * @throws { BusinessError } 8300001 - Invalid parameter value.
1343   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1344   * @throws { BusinessError } 8300003 - System internal error.
1345   * @throws { BusinessError } 8300999 - Unknown error code.
1346   * @syscap SystemCapability.Telephony.CallManager
1347   * @systemapi Hide this for inner system use.
1348   * @since arkts {'1.1':'8','1.2':'20'}
1349   * @arkts 1.1&1.2
1350   */
1351  function off(type: 'callEventChange', callback?: Callback<CallEventOptions>): void;
1352
1353  /**
1354   * Subscribe to the callDisconnectedCause event.
1355   *
1356   * @permission ohos.permission.SET_TELEPHONY_STATE
1357   * @param { 'callDisconnectedCause' } type - Event type. Indicates the callDisconnectedCause event to be subscribed to.
1358   * @param { Callback<DisconnectedDetails> } callback - Indicates the callback for getting the call disconnection reason.
1359   * @throws { BusinessError } 201 - Permission denied.
1360   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1361   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
1362   * 2. Incorrect parameters types;
1363   * @throws { BusinessError } 8300001 - Invalid parameter value.
1364   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1365   * @throws { BusinessError } 8300003 - System internal error.
1366   * @throws { BusinessError } 8300999 - Unknown error code.
1367   * @syscap SystemCapability.Telephony.CallManager
1368   * @systemapi Hide this for inner system use.
1369   * @since arkts {'1.1':'8','1.2':'20'}
1370   * @arkts 1.1&1.2
1371   */
1372  function on(type: 'callDisconnectedCause', callback: Callback<DisconnectedDetails>): void;
1373
1374  /**
1375   * Unsubscribe from the callDisconnectedCause event.
1376   *
1377   * @permission ohos.permission.SET_TELEPHONY_STATE
1378   * @param { 'callDisconnectedCause' } type - Event type. Indicates the callDisconnectedCause event to unsubscribe from.
1379   * @param { Callback<DisconnectedDetails> } callback - Indicates the callback used to cancel
1380   * the registration monitoring for obtaining the call end reason.
1381   * @throws { BusinessError } 201 - Permission denied.
1382   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1383   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
1384   * 2. Incorrect parameters types;
1385   * @throws { BusinessError } 8300001 - Invalid parameter value.
1386   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1387   * @throws { BusinessError } 8300003 - System internal error.
1388   * @throws { BusinessError } 8300999 - Unknown error code.
1389   * @syscap SystemCapability.Telephony.CallManager
1390   * @systemapi Hide this for inner system use.
1391   * @since arkts {'1.1':'8','1.2':'20'}
1392   * @arkts 1.1&1.2
1393   */
1394  function off(type: 'callDisconnectedCause', callback?: Callback<DisconnectedDetails>): void;
1395
1396  /**
1397   * Subscribe to the mmiCodeResult event.
1398   *
1399   * @permission ohos.permission.SET_TELEPHONY_STATE
1400   * @param { 'mmiCodeResult' } type - Event type. Indicates the mmiCodeResult event to be subscribed to.
1401   * @param { Callback<MmiCodeResults> } callback - Indicates the callback for getting the result of MMI code.
1402   * @throws { BusinessError } 201 - Permission denied.
1403   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1404   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
1405   * 2. Incorrect parameters types;
1406   * @throws { BusinessError } 8300001 - Invalid parameter value.
1407   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1408   * @throws { BusinessError } 8300003 - System internal error.
1409   * @throws { BusinessError } 8300999 - Unknown error code.
1410   * @syscap SystemCapability.Telephony.CallManager
1411   * @systemapi Hide this for inner system use.
1412   * @since arkts {'1.1':'9','1.2':'20'}
1413   * @arkts 1.1&1.2
1414   */
1415  function on(type: 'mmiCodeResult', callback: Callback<MmiCodeResults>): void;
1416
1417  /**
1418   * Unsubscribe from the mmiCodeResult event.
1419   *
1420   * @permission ohos.permission.SET_TELEPHONY_STATE
1421   * @param { 'mmiCodeResult' } type - Event type. Indicates the mmiCodeResult event to unsubscribe from.
1422   * @param { Callback<MmiCodeResults> } callback - Indicates the callback used to cancel getting mmicode registered listening.
1423   * @throws { BusinessError } 201 - Permission denied.
1424   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1425   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
1426   * 2. Incorrect parameters types;
1427   * @throws { BusinessError } 8300001 - Invalid parameter value.
1428   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1429   * @throws { BusinessError } 8300003 - System internal error.
1430   * @throws { BusinessError } 8300999 - Unknown error code.
1431   * @syscap SystemCapability.Telephony.CallManager
1432   * @systemapi Hide this for inner system use.
1433   * @since arkts {'1.1':'9','1.2':'20'}
1434   * @arkts 1.1&1.2
1435   */
1436  function off(type: 'mmiCodeResult', callback?: Callback<MmiCodeResults>): void;
1437
1438  /**
1439   * Subscribe to the audioDeviceChange event.
1440   *
1441   * @permission ohos.permission.SET_TELEPHONY_STATE
1442   * @param { 'audioDeviceChange' } type - Event type. Indicates the audioDeviceChange event to be subscribed to.
1443   * @param { Callback<AudioDeviceCallbackInfo> } callback - Indicates the callback for getting the result of Current AudioDevice.
1444   * @throws { BusinessError } 201 - Permission denied.
1445   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1446   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
1447   * 2. Incorrect parameters types;
1448   * @throws { BusinessError } 8300001 - Invalid parameter value.
1449   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1450   * @throws { BusinessError } 8300003 - System internal error.
1451   * @throws { BusinessError } 8300999 - Unknown error code.
1452   * @syscap SystemCapability.Telephony.CallManager
1453   * @systemapi Hide this for inner system use.
1454   * @since arkts {'1.1':'10','1.2':'20'}
1455   * @arkts 1.1&1.2
1456   */
1457  function on(type: 'audioDeviceChange', callback: Callback<AudioDeviceCallbackInfo>): void;
1458
1459  /**
1460   * Unsubscribe from the audioDeviceChange event.
1461   *
1462   * @permission ohos.permission.SET_TELEPHONY_STATE
1463   * @param { 'audioDeviceChange' } type - Event type. Indicates the audioDeviceChange event to unsubscribe from.
1464   * @param { Callback<AudioDeviceCallbackInfo> } callback - Indicates the callback for getting the result of Current AudioDevice.
1465   * @throws { BusinessError } 201 - Permission denied.
1466   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1467   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
1468   * 2. Incorrect parameters types;
1469   * @throws { BusinessError } 8300001 - Invalid parameter value.
1470   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1471   * @throws { BusinessError } 8300003 - System internal error.
1472   * @throws { BusinessError } 8300999 - Unknown error code.
1473   * @syscap SystemCapability.Telephony.CallManager
1474   * @systemapi Hide this for inner system use.
1475   * @since arkts {'1.1':'10','1.2':'20'}
1476   * @arkts 1.1&1.2
1477   */
1478  function off(type: 'audioDeviceChange', callback?: Callback<AudioDeviceCallbackInfo>): void;
1479
1480  /**
1481   * Subscribe to the postDialDelay event.
1482   *
1483   * @permission ohos.permission.SET_TELEPHONY_STATE
1484   * @param { 'postDialDelay' } type - Event type. Indicates the postDialDelay event to be subscribed to.
1485   * @param { Callback<string> } callback - Indicates the callback for getting the result of post-dial string.
1486   * @throws { BusinessError } 201 - Permission denied.
1487   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1488   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
1489   * 2. Incorrect parameters types;
1490   * @throws { BusinessError } 8300001 - Invalid parameter value.
1491   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1492   * @throws { BusinessError } 8300003 - System internal error.
1493   * @throws { BusinessError } 8300999 - Unknown error code.
1494   * @syscap SystemCapability.Telephony.CallManager
1495   * @systemapi Hide this for inner system use.
1496   * @since arkts {'1.1':'11','1.2':'20'}
1497   * @arkts 1.1&1.2
1498   */
1499  function on(type: 'postDialDelay', callback: Callback<string>): void;
1500
1501  /**
1502   * Unsubscribe from the postDialDelay event.
1503   *
1504   * @permission ohos.permission.SET_TELEPHONY_STATE
1505   * @param { 'postDialDelay' } type - Event type. Indicates the postDialDelay event to unsubscribe from.
1506   * @param { Callback<string> } callback - Indicates the callback for getting the result of post-dial string.
1507   * @throws { BusinessError } 201 - Permission denied.
1508   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1509   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
1510   * 2. Incorrect parameters types;
1511   * @throws { BusinessError } 8300001 - Invalid parameter value.
1512   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1513   * @throws { BusinessError } 8300003 - System internal error.
1514   * @throws { BusinessError } 8300999 - Unknown error code.
1515   * @syscap SystemCapability.Telephony.CallManager
1516   * @systemapi Hide this for inner system use.
1517   * @since arkts {'1.1':'11','1.2':'20'}
1518   * @arkts 1.1&1.2
1519   */
1520  function off(type: 'postDialDelay', callback?: Callback<string>): void;
1521
1522  /**
1523   * Judge whether to allow another new call.
1524   *
1525   * @param { AsyncCallback<boolean> } callback - The callback of isNewCallAllowed. Returns {@code true} if
1526   * the device currently allows new calls; returns {@code false} otherwise.
1527   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1528   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
1529   * 2. Incorrect parameters types;
1530   * @throws { BusinessError } 8300001 - Invalid parameter value.
1531   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1532   * @throws { BusinessError } 8300003 - System internal error.
1533   * @throws { BusinessError } 8300999 - Unknown error code.
1534   * @syscap SystemCapability.Telephony.CallManager
1535   * @systemapi Hide this for inner system use.
1536   * @since 8
1537   */
1538  function isNewCallAllowed(callback: AsyncCallback<boolean>): void;
1539
1540  /**
1541   * Judge whether to allow another new call.
1542   *
1543   * @returns { Promise<boolean> } Returns {@code true} If the device currently allows new calls.
1544   * Returns {@code false} otherwise.
1545   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1546   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1547   * @throws { BusinessError } 8300003 - System internal error.
1548   * @throws { BusinessError } 8300999 - Unknown error code.
1549   * @syscap SystemCapability.Telephony.CallManager
1550   * @systemapi Hide this for inner system use.
1551   * @since 8
1552   */
1553  function isNewCallAllowed(): Promise<boolean>;
1554
1555  /**
1556   * Split conference call.
1557   *
1558   * @param { number } callId - Indicates the identifier of the call.
1559   * @param { AsyncCallback<void> } callback - The callback of separateConference.
1560   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1561   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
1562   * 2. Incorrect parameters types;
1563   * @throws { BusinessError } 8300001 - Invalid parameter value.
1564   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1565   * @throws { BusinessError } 8300003 - System internal error.
1566   * @throws { BusinessError } 8300008 - Conference call is not active.
1567   * @throws { BusinessError } 8300999 - Unknown error code.
1568   * @syscap SystemCapability.Telephony.CallManager
1569   * @systemapi Hide this for inner system use.
1570   * @since 11
1571   */
1572  function separateConference(callId: number, callback: AsyncCallback<void>): void;
1573
1574  /**
1575   * Split conference call.
1576   *
1577   * @param { number } callId - Indicates the identifier of the call.
1578   * @returns { Promise<void> } The promise returned by the separateConference.
1579   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1580   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
1581   * 2. Incorrect parameters types;
1582   * @throws { BusinessError } 8300001 - Invalid parameter value.
1583   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1584   * @throws { BusinessError } 8300003 - System internal error.
1585   * @throws { BusinessError } 8300008 - Conference call is not active.
1586   * @throws { BusinessError } 8300999 - Unknown error code.
1587   * @syscap SystemCapability.Telephony.CallManager
1588   * @systemapi Hide this for inner system use.
1589   * @since 11
1590   */
1591  function separateConference(callId: number): Promise<void>;
1592
1593  /**
1594   * Get call barring status.
1595   *
1596   * @permission ohos.permission.GET_TELEPHONY_STATE
1597   * @param { number } slotId - Indicates the card slot index number,
1598   * ranging from 0 to the maximum card slot index number supported by the device.
1599   * @param { CallRestrictionType } type - Indicates which type of call restriction to obtain.
1600   * @param { AsyncCallback<RestrictionStatus> } callback - Indicates the callback for getting the call restriction status.
1601   * @throws { BusinessError } 201 - Permission denied.
1602   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1603   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
1604   * 2. Incorrect parameters types;
1605   * @throws { BusinessError } 801 - Capability not supported.
1606   * @throws { BusinessError } 8300001 - Invalid parameter value.
1607   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1608   * @throws { BusinessError } 8300003 - System internal error.
1609   * @syscap SystemCapability.Telephony.CallManager
1610   * @systemapi Hide this for inner system use.
1611   * @since 8
1612   */
1613  function getCallRestrictionStatus(slotId: number, type: CallRestrictionType, callback: AsyncCallback<RestrictionStatus>): void;
1614
1615  /**
1616   * Get call barring status.
1617   *
1618   * @permission ohos.permission.GET_TELEPHONY_STATE
1619   * @param { number } slotId - Indicates the card slot index number,
1620   * ranging from 0 to the maximum card slot index number supported by the device.
1621   * @param { CallRestrictionType } type - Indicates which type of call restriction to obtain.
1622   * @returns { Promise<RestrictionStatus> } Returns the call restriction status.
1623   * @throws { BusinessError } 201 - Permission denied.
1624   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1625   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
1626   * 2. Incorrect parameters types;
1627   * @throws { BusinessError } 801 - Capability not supported.
1628   * @throws { BusinessError } 8300001 - Invalid parameter value.
1629   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1630   * @throws { BusinessError } 8300003 - System internal error.
1631   * @syscap SystemCapability.Telephony.CallManager
1632   * @systemapi Hide this for inner system use.
1633   * @since 8
1634   */
1635  function getCallRestrictionStatus(slotId: number, type: CallRestrictionType): Promise<RestrictionStatus>;
1636
1637  /**
1638   * Set call barring status.
1639   *
1640   * @permission ohos.permission.SET_TELEPHONY_STATE
1641   * @param { number } slotId - Indicates the card slot index number,
1642   * ranging from 0 to the maximum card slot index number supported by the device.
1643   * @param { CallRestrictionInfo } info - Indicates the set call restriction information.
1644   * @param { AsyncCallback<void> } callback - The callback of setCallRestriction.
1645   * @throws { BusinessError } 201 - Permission denied.
1646   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1647   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
1648   * 2. Incorrect parameters types;
1649   * @throws { BusinessError } 801 - Capability not supported.
1650   * @throws { BusinessError } 8300001 - Invalid parameter value.
1651   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1652   * @throws { BusinessError } 8300003 - System internal error.
1653   * @syscap SystemCapability.Telephony.CallManager
1654   * @systemapi Hide this for inner system use.
1655   * @since 8
1656   */
1657  function setCallRestriction(slotId: number, info: CallRestrictionInfo, callback: AsyncCallback<void>): void;
1658
1659  /**
1660   * Set call barring status.
1661   *
1662   * @permission ohos.permission.SET_TELEPHONY_STATE
1663   * @param { number } slotId - Indicates the card slot index number,
1664   * ranging from 0 to the maximum card slot index number supported by the device.
1665   * @param { CallRestrictionInfo } info - Indicates the set call restriction information.
1666   * @returns { Promise<void> } The promise returned by the setCallRestriction.
1667   * @throws { BusinessError } 201 - Permission denied.
1668   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1669   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
1670   * 2. Incorrect parameters types;
1671   * @throws { BusinessError } 801 - Capability not supported.
1672   * @throws { BusinessError } 8300001 - Invalid parameter value.
1673   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1674   * @throws { BusinessError } 8300003 - System internal error.
1675   * @syscap SystemCapability.Telephony.CallManager
1676   * @systemapi Hide this for inner system use.
1677   * @since 8
1678   */
1679  function setCallRestriction(slotId: number, info: CallRestrictionInfo): Promise<void>;
1680
1681  /**
1682   * Set call barring password.
1683   *
1684   * @permission ohos.permission.SET_TELEPHONY_STATE
1685   * @param { number } slotId - Indicates the card slot index number,
1686   * ranging from 0 to the maximum card slot index number supported by the device.
1687   * @param { string } oldPassword - Indicates the call restriction old password.
1688   * @param { string } newPassword - Indicates the call restriction new password.
1689   * @param { AsyncCallback<void> } callback - The callback of setCallRestrictionPassword.
1690   * @throws { BusinessError } 201 - Permission denied.
1691   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1692   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
1693   * 2. Incorrect parameters types;
1694   * @throws { BusinessError } 801 - Capability not supported.
1695   * @throws { BusinessError } 8300001 - Invalid parameter value.
1696   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1697   * @throws { BusinessError } 8300003 - System internal error.
1698   * @syscap SystemCapability.Telephony.CallManager
1699   * @systemapi Hide this for inner system use.
1700   * @since 10
1701   */
1702  function setCallRestrictionPassword(slotId: number, oldPassword: string, newPassword: string, callback: AsyncCallback<void>): void;
1703
1704  /**
1705   * Set call barring password.
1706   *
1707   * @permission ohos.permission.SET_TELEPHONY_STATE
1708   * @param { number } slotId - Indicates the card slot index number,
1709   * ranging from 0 to the maximum card slot index number supported by the device.
1710   * @param { string } oldPassword - Indicates the call restriction old password.
1711   * @param { string } newPassword - Indicates the call restriction new password.
1712   * @returns { Promise<void> } The promise returned by the setCallRestrictionPassword.
1713   * @throws { BusinessError } 201 - Permission denied.
1714   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1715   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
1716   * 2. Incorrect parameters types;
1717   * @throws { BusinessError } 801 - Capability not supported.
1718   * @throws { BusinessError } 8300001 - Invalid parameter value.
1719   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1720   * @throws { BusinessError } 8300003 - System internal error.
1721   * @syscap SystemCapability.Telephony.CallManager
1722   * @systemapi Hide this for inner system use.
1723   * @since 10
1724   */
1725  function setCallRestrictionPassword(slotId: number, oldPassword: string, newPassword: string): Promise<void>;
1726
1727  /**
1728   * Get call forwarding information.
1729   *
1730   * @permission ohos.permission.GET_TELEPHONY_STATE
1731   * @param { number } slotId - Indicates the card slot index number,
1732   * ranging from 0 to the maximum card slot index number supported by the device.
1733   * @param { CallTransferType } type - Indicates which type of call forwarding to obtain.
1734   * @param { AsyncCallback<CallTransferResult> } callback - Indicates the callback for getting the call forwarding status.
1735   * @throws { BusinessError } 201 - Permission denied.
1736   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1737   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
1738   * 2. Incorrect parameters types;
1739   * @throws { BusinessError } 801 - Capability not supported.
1740   * @throws { BusinessError } 8300001 - Invalid parameter value.
1741   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1742   * @throws { BusinessError } 8300003 - System internal error.
1743   * @syscap SystemCapability.Telephony.CallManager
1744   * @systemapi Hide this for inner system use.
1745   * @since 8
1746   */
1747  function getCallTransferInfo(slotId: number, type: CallTransferType, callback: AsyncCallback<CallTransferResult>): void;
1748
1749  /**
1750   * Get call forwarding information.
1751   *
1752   * @permission ohos.permission.GET_TELEPHONY_STATE
1753   * @param { number } slotId - Indicates the card slot index number,
1754   * ranging from 0 to the maximum card slot index number supported by the device.
1755   * @param { CallTransferType } type - Indicates which type of call forwarding to obtain.
1756   * @returns { Promise<CallTransferResult> } Returns the call forwarding status.
1757   * @throws { BusinessError } 201 - Permission denied.
1758   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1759   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
1760   * 2. Incorrect parameters types;
1761   * @throws { BusinessError } 801 - Capability not supported.
1762   * @throws { BusinessError } 8300001 - Invalid parameter value.
1763   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1764   * @throws { BusinessError } 8300003 - System internal error.
1765   * @syscap SystemCapability.Telephony.CallManager
1766   * @systemapi Hide this for inner system use.
1767   * @since 8
1768   */
1769  function getCallTransferInfo(slotId: number, type: CallTransferType): Promise<CallTransferResult>;
1770
1771  /**
1772   * Set call forwarding information.
1773   *
1774   * @permission ohos.permission.SET_TELEPHONY_STATE
1775   * @param { number } slotId - Indicates the card slot index number,
1776   * ranging from 0 to the maximum card slot index number supported by the device.
1777   * @param { CallTransferInfo } info - Indicates the set call forwarding information.
1778   * @param { AsyncCallback<void> } callback - The callback of setCallTransfer.
1779   * @throws { BusinessError } 201 - Permission denied.
1780   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1781   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
1782   * 2. Incorrect parameters types;
1783   * @throws { BusinessError } 801 - Capability not supported.
1784   * @throws { BusinessError } 8300001 - Invalid parameter value.
1785   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1786   * @throws { BusinessError } 8300003 - System internal error.
1787   * @syscap SystemCapability.Telephony.CallManager
1788   * @systemapi Hide this for inner system use.
1789   * @since 8
1790   */
1791  function setCallTransfer(slotId: number, info: CallTransferInfo, callback: AsyncCallback<void>): void;
1792
1793  /**
1794   * Set call forwarding information.
1795   *
1796   * @permission ohos.permission.SET_TELEPHONY_STATE
1797   * @param { number } slotId - Indicates the card slot index number,
1798   * ranging from 0 to the maximum card slot index number supported by the device.
1799   * @param { CallTransferInfo } info - Indicates the set call forwarding information.
1800   * @returns { Promise<void> } The promise returned by the setCallTransfer.
1801   * @throws { BusinessError } 201 - Permission denied.
1802   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1803   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
1804   * 2. Incorrect parameters types;
1805   * @throws { BusinessError } 801 - Capability not supported.
1806   * @throws { BusinessError } 8300001 - Invalid parameter value.
1807   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1808   * @throws { BusinessError } 8300003 - System internal error.
1809   * @syscap SystemCapability.Telephony.CallManager
1810   * @systemapi Hide this for inner system use.
1811   * @since 8
1812   */
1813  function setCallTransfer(slotId: number, info: CallTransferInfo): Promise<void>;
1814
1815  /**
1816   * Judge whether there is a ringing call.
1817   *
1818   * @permission ohos.permission.SET_TELEPHONY_STATE
1819   * @param { AsyncCallback<boolean> } callback - The callback of isRinging.
1820   * Returns {@code true} if the device is ringing; returns {@code false} otherwise.
1821   * @throws { BusinessError } 201 - Permission denied.
1822   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1823   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
1824   * 2. Incorrect parameters types;
1825   * @throws { BusinessError } 8300001 - Invalid parameter value.
1826   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1827   * @throws { BusinessError } 8300003 - System internal error.
1828   * @throws { BusinessError } 8300999 - Unknown error code.
1829   * @syscap SystemCapability.Telephony.CallManager
1830   * @systemapi Hide this for inner system use.
1831   * @since 8
1832   */
1833  function isRinging(callback: AsyncCallback<boolean>): void;
1834
1835  /**
1836   * Judge whether there is a ringing call.
1837   *
1838   * @permission ohos.permission.SET_TELEPHONY_STATE
1839   * @returns { Promise<boolean> } Returns {@code true} if the device is ringing; returns {@code false} otherwise.
1840   * @throws { BusinessError } 201 - Permission denied.
1841   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1842   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1843   * @throws { BusinessError } 8300003 - System internal error.
1844   * @throws { BusinessError } 8300999 - Unknown error code.
1845   * @syscap SystemCapability.Telephony.CallManager
1846   * @systemapi Hide this for inner system use.
1847   * @since 8
1848   */
1849  function isRinging(): Promise<boolean>;
1850
1851  /**
1852   * Set mute during a call.
1853   *
1854   * @param { AsyncCallback<void> } callback - The callback of setMuted.
1855   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1856   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
1857   * 2. Incorrect parameters types;
1858   * @throws { BusinessError } 8300001 - Invalid parameter value.
1859   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1860   * @throws { BusinessError } 8300003 - System internal error.
1861   * @throws { BusinessError } 8300999 - Unknown error code.
1862   * @syscap SystemCapability.Telephony.CallManager
1863   * @systemapi Hide this for inner system use.
1864   * @since 8
1865   */
1866  function setMuted(callback: AsyncCallback<void>): void;
1867
1868  /**
1869   * Set mute during a call.
1870   *
1871   * @returns { Promise<void> } The promise returned by the setMuted.
1872   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1873   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1874   * @throws { BusinessError } 8300003 - System internal error.
1875   * @throws { BusinessError } 8300999 - Unknown error code.
1876   * @syscap SystemCapability.Telephony.CallManager
1877   * @systemapi Hide this for inner system use.
1878   * @since 8
1879   */
1880  function setMuted(): Promise<void>;
1881
1882  /**
1883   * Unmute during a call.
1884   *
1885   * @param { AsyncCallback<void> } callback - The callback of cancelMuted.
1886   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1887   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
1888   * 2. Incorrect parameters types;
1889   * @throws { BusinessError } 8300001 - Invalid parameter value.
1890   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1891   * @throws { BusinessError } 8300003 - System internal error.
1892   * @throws { BusinessError } 8300999 - Unknown error code.
1893   * @syscap SystemCapability.Telephony.CallManager
1894   * @systemapi Hide this for inner system use.
1895   * @since 8
1896   */
1897  function cancelMuted(callback: AsyncCallback<void>): void;
1898
1899  /**
1900   * Unmute during a call.
1901   *
1902   * @returns { Promise<void> } The promise returned by the cancelMuted.
1903   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1904   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1905   * @throws { BusinessError } 8300003 - System internal error.
1906   * @throws { BusinessError } 8300999 - Unknown error code.
1907   * @syscap SystemCapability.Telephony.CallManager
1908   * @systemapi Hide this for inner system use.
1909   * @since 8
1910   */
1911  function cancelMuted(): Promise<void>;
1912
1913  /**
1914   * Set the audio device.
1915   *
1916   * @permission ohos.permission.SET_TELEPHONY_STATE
1917   * @param { AudioDevice } device - Indicates the device of audio.
1918   * @param { AsyncCallback<void> } callback - The callback of setAudioDevice.
1919   * @throws { BusinessError } 201 - Permission denied.
1920   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1921   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
1922   * 2. Incorrect parameters types;
1923   * @throws { BusinessError } 8300001 - Invalid parameter value.
1924   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1925   * @throws { BusinessError } 8300003 - System internal error.
1926   * @throws { BusinessError } 8300999 - Unknown error code.
1927   * @syscap SystemCapability.Telephony.CallManager
1928   * @systemapi Hide this for inner system use.
1929   * @since 8
1930   */
1931  function setAudioDevice(device: AudioDevice, callback: AsyncCallback<void>): void;
1932
1933  /**
1934   * Set the audio device.
1935   *
1936   * @permission ohos.permission.SET_TELEPHONY_STATE
1937   * @param { AudioDevice } device - Indicates the device of audio.
1938   * @returns { Promise<void> } The promise returned by the setAudioDevice.
1939   * @throws { BusinessError } 201 - Permission denied.
1940   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1941   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
1942   * 2. Incorrect parameters types;
1943   * @throws { BusinessError } 8300001 - Invalid parameter value.
1944   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1945   * @throws { BusinessError } 8300003 - System internal error.
1946   * @throws { BusinessError } 8300999 - Unknown error code.
1947   * @syscap SystemCapability.Telephony.CallManager
1948   * @systemapi Hide this for inner system use.
1949   * @since 10
1950   */
1951  function setAudioDevice(device: AudioDevice): Promise<void>;
1952
1953  /**
1954   * Join the conference call.
1955   *
1956   * @param { number } mainCallId - Indicates the identifier of the main call.
1957   * @param { Array<string> } callNumberList - Indicates a call list.
1958   * @param { AsyncCallback<void> } callback - The callback of joinConference.
1959   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1960   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
1961   * 2. Incorrect parameters types;
1962   * @throws { BusinessError } 8300001 - Invalid parameter value.
1963   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1964   * @throws { BusinessError } 8300003 - System internal error.
1965   * @throws { BusinessError } 8300999 - Unknown error code.
1966   * @syscap SystemCapability.Telephony.CallManager
1967   * @systemapi Hide this for inner system use.
1968   * @since 8
1969   */
1970  function joinConference(mainCallId: number, callNumberList: Array<string>, callback: AsyncCallback<void>): void;
1971
1972  /**
1973   * Join the conference call.
1974   *
1975   * @param { number } mainCallId - Indicates the identifier of the main call.
1976   * @param { Array<string> } callNumberList - Indicates a call list.
1977   * @returns { Promise<void> } The promise returned by the joinConference.
1978   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1979   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
1980   * 2. Incorrect parameters types;
1981   * @throws { BusinessError } 8300001 - Invalid parameter value.
1982   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1983   * @throws { BusinessError } 8300003 - System internal error.
1984   * @throws { BusinessError } 8300999 - Unknown error code.
1985   * @syscap SystemCapability.Telephony.CallManager
1986   * @systemapi Hide this for inner system use.
1987   * @since 8
1988   */
1989  function joinConference(mainCallId: number, callNumberList: Array<string>): Promise<void>;
1990
1991  /**
1992   * Kick out call from the conference call.
1993   *
1994   * @permission ohos.permission.PLACE_CALL
1995   * @param { number } callId - Indicates the identifier of the call which kick out.
1996   * @param { AsyncCallback<void> } callback - The callback of kickOutFromConference.
1997   * @throws { BusinessError } 201 - Permission denied.
1998   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1999   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
2000   * 2. Incorrect parameters types;
2001   * @throws { BusinessError } 8300001 - Invalid parameter value.
2002   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
2003   * @throws { BusinessError } 8300003 - System internal error.
2004   * @throws { BusinessError } 8300999 - Unknown error code.
2005   * @syscap SystemCapability.Telephony.CallManager
2006   * @systemapi Hide this for inner system use.
2007   * @since 10
2008   */
2009  function kickOutFromConference(callId: number, callback: AsyncCallback<void>): void;
2010
2011  /**
2012   * Kick out call from the conference call.
2013   *
2014   * @permission ohos.permission.PLACE_CALL
2015   * @param { number } callId - Indicates the identifier of the call which kick out.
2016   * @returns { Promise<void> } The promise returned by the kickOutFromConference.
2017   * @throws { BusinessError } 201 - Permission denied.
2018   * @throws { BusinessError } 202 - Non-system applications use system APIs.
2019   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
2020   * 2. Incorrect parameters types;
2021   * @throws { BusinessError } 8300001 - Invalid parameter value.
2022   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
2023   * @throws { BusinessError } 8300003 - System internal error.
2024   * @throws { BusinessError } 8300999 - Unknown error code.
2025   * @syscap SystemCapability.Telephony.CallManager
2026   * @systemapi Hide this for inner system use.
2027   * @since 10
2028   */
2029  function kickOutFromConference(callId: number): Promise<void>;
2030
2031  /**
2032   * Update Ims call mode.
2033   *
2034   * @param { number } callId - Indicates the identifier of the call.
2035   * @param { ImsCallMode } mode - Indicates the mode of the ims call.
2036   * @param { AsyncCallback<void> } callback - The callback of updateImsCallMode.
2037   * @throws { BusinessError } 202 - Non-system applications use system APIs.
2038   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
2039   * 2. Incorrect parameters types;
2040   * @throws { BusinessError } 8300001 - Invalid parameter value.
2041   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
2042   * @throws { BusinessError } 8300003 - System internal error.
2043   * @throws { BusinessError } 8300999 - Unknown error code.
2044   * @syscap SystemCapability.Telephony.CallManager
2045   * @systemapi Hide this for inner system use.
2046   * @since 8
2047   */
2048  function updateImsCallMode(callId: number, mode: ImsCallMode, callback: AsyncCallback<void>): void;
2049
2050  /**
2051   * Update Ims call mode.
2052   *
2053   * @param { number } callId - Indicates the identifier of the call.
2054   * @param { ImsCallMode } mode - Indicates the mode of the ims call.
2055   * @returns { Promise<void> } The promise returned by the updateImsCallMode.
2056   * @throws { BusinessError } 202 - Non-system applications use system APIs.
2057   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
2058   * 2. Incorrect parameters types;
2059   * @throws { BusinessError } 8300001 - Invalid parameter value.
2060   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
2061   * @throws { BusinessError } 8300003 - System internal error.
2062   * @throws { BusinessError } 8300999 - Unknown error code.
2063   * @syscap SystemCapability.Telephony.CallManager
2064   * @systemapi Hide this for inner system use.
2065   * @since 8
2066   */
2067  function updateImsCallMode(callId: number, mode: ImsCallMode): Promise<void>;
2068
2069  /**
2070   * Cancel call upgrade when voice call upgrade to video call.
2071   *
2072   * @permission ohos.permission.PLACE_CALL
2073   * @param { number } callId - Indicates the identifier of the call.
2074   * @returns { Promise<void> } The promise returned by the cancelCallUpgrade.
2075   * @throws { BusinessError } 201 - Permission denied.
2076   * @throws { BusinessError } 202 - Non-system applications use system APIs.
2077   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
2078   * 2. Incorrect parameters types;
2079   * @throws { BusinessError } 8300001 - Invalid parameter value.
2080   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
2081   * @throws { BusinessError } 8300003 - System internal error.
2082   * @throws { BusinessError } 8300999 - Unknown error code.
2083   * @syscap SystemCapability.Telephony.CallManager
2084   * @systemapi Hide this for inner system use.
2085   * @since 11
2086   */
2087  function cancelCallUpgrade(callId: number): Promise<void>;
2088
2089  /**
2090   * Control camera to open/close/switch camera by cameraId when video call.
2091   *
2092   * @permission ohos.permission.SET_TELEPHONY_STATE
2093   * @param { number } callId - Indicates the identifier of the call.
2094   * @param { string } cameraId - Indicates the identifier of the camera id.
2095   * @returns { Promise<void> } The promise returned by the controlCamera.
2096   * @throws { BusinessError } 201 - Permission denied.
2097   * @throws { BusinessError } 202 - Non-system applications use system APIs.
2098   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
2099   * 2. Incorrect parameters types;
2100   * @throws { BusinessError } 8300001 - Invalid parameter value.
2101   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
2102   * @throws { BusinessError } 8300003 - System internal error.
2103   * @throws { BusinessError } 8300999 - Unknown error code.
2104   * @syscap SystemCapability.Telephony.CallManager
2105   * @systemapi Hide this for inner system use.
2106   * @since 11
2107   */
2108  function controlCamera(callId: number, cameraId: string): Promise<void>;
2109
2110  /**
2111   * Set preview surface when video call.
2112   *
2113   * @permission ohos.permission.SET_TELEPHONY_STATE
2114   * @param { number } callId - Indicates the identifier of the call.
2115   * @param { string } surfaceId - Indicates the identifier of the preview surface id.
2116   * @returns { Promise<void> } The promise returned by the setPreviewWindow.
2117   * @throws { BusinessError } 201 - Permission denied.
2118   * @throws { BusinessError } 202 - Non-system applications use system APIs.
2119   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
2120   * 2. Incorrect parameters types;
2121   * @throws { BusinessError } 8300001 - Invalid parameter value.
2122   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
2123   * @throws { BusinessError } 8300003 - System internal error.
2124   * @throws { BusinessError } 8300999 - Unknown error code.
2125   * @syscap SystemCapability.Telephony.CallManager
2126   * @systemapi Hide this for inner system use.
2127   * @since 11
2128   */
2129  function setPreviewSurface(callId: number, surfaceId: string): Promise<void>;
2130
2131  /**
2132   * Set display surface when video call.
2133   *
2134   * @permission ohos.permission.SET_TELEPHONY_STATE
2135   * @param { number } callId - Indicates the identifier of the call.
2136   * @param { string } surfaceId - Indicates the identifier of the display surface id.
2137   * @returns { Promise<void> } The promise returned by the setDisplayWindow.
2138   * @throws { BusinessError } 201 - Permission denied.
2139   * @throws { BusinessError } 202 - Non-system applications use system APIs.
2140   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
2141   * 2. Incorrect parameters types;
2142   * @throws { BusinessError } 8300001 - Invalid parameter value.
2143   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
2144   * @throws { BusinessError } 8300003 - System internal error.
2145   * @throws { BusinessError } 8300999 - Unknown error code.
2146   * @syscap SystemCapability.Telephony.CallManager
2147   * @systemapi Hide this for inner system use.
2148   * @since 11
2149   */
2150  function setDisplaySurface(callId: number, surfaceId: string): Promise<void>;
2151
2152  /**
2153   * Set device direction when video call.
2154   *
2155   * @permission ohos.permission.SET_TELEPHONY_STATE
2156   * @param { number } callId - Indicates the identifier of the call.
2157   * @param { DeviceDirection } deviceDirection - Indicates the identifier of the direction for the display.
2158   * @returns { Promise<void> } The promise returned by the setDeviceDirection.
2159   * @throws { BusinessError } 201 - Permission denied.
2160   * @throws { BusinessError } 202 - Non-system applications use system APIs.
2161   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
2162   * 2. Incorrect parameters types;
2163   * @throws { BusinessError } 8300001 - Invalid parameter value.
2164   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
2165   * @throws { BusinessError } 8300003 - System internal error.
2166   * @throws { BusinessError } 8300999 - Unknown error code.
2167   * @syscap SystemCapability.Telephony.CallManager
2168   * @systemapi Hide this for inner system use.
2169   * @since 11
2170   */
2171  function setDeviceDirection(callId: number, deviceDirection: DeviceDirection): Promise<void>;
2172
2173  /**
2174   * Subscribe to the imsCallModeChange event.
2175   *
2176   * @permission ohos.permission.SET_TELEPHONY_STATE
2177   * @param { 'imsCallModeChange' } type - Event type. Indicates the imsCallModeChange event to be subscribed to.
2178   * @param { Callback<ImsCallModeInfo> } callback - Indicates the callback for
2179   * getting the result of ImsCallModeInfo details.
2180   * @throws { BusinessError } 201 - Permission denied.
2181   * @throws { BusinessError } 202 - Non-system applications use system APIs.
2182   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
2183   * 2. Incorrect parameters types;
2184   * @throws { BusinessError } 8300001 - Invalid parameter value.
2185   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
2186   * @throws { BusinessError } 8300003 - System internal error.
2187   * @throws { BusinessError } 8300999 - Unknown error code.
2188   * @syscap SystemCapability.Telephony.CallManager
2189   * @systemapi Hide this for inner system use.
2190   * @since arkts {'1.1':'11','1.2':'20'}
2191   * @arkts 1.1&1.2
2192   */
2193  function on(type: 'imsCallModeChange', callback: Callback<ImsCallModeInfo>): void;
2194
2195  /**
2196   * Unsubscribe from the imsCallModeChange event.
2197   *
2198   * @permission ohos.permission.SET_TELEPHONY_STATE
2199   * @param { 'imsCallModeChange' } type - Event type. Indicates the imsCallModeChange event to unsubscribe from.
2200   * @param { Callback<ImsCallModeInfo> } callback - Indicates the callback to unsubscribe from
2201   * the imsCallModeChange event.
2202   * @throws { BusinessError } 201 - Permission denied.
2203   * @throws { BusinessError } 202 - Non-system applications use system APIs.
2204   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
2205   * 2. Incorrect parameters types;
2206   * @throws { BusinessError } 8300001 - Invalid parameter value.
2207   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
2208   * @throws { BusinessError } 8300003 - System internal error.
2209   * @throws { BusinessError } 8300999 - Unknown error code.
2210   * @syscap SystemCapability.Telephony.CallManager
2211   * @systemapi Hide this for inner system use.
2212   * @since arkts {'1.1':'11','1.2':'20'}
2213   * @arkts 1.1&1.2
2214   */
2215  function off(type: 'imsCallModeChange', callback?: Callback<ImsCallModeInfo>): void;
2216
2217  /**
2218   * Subscribe to the callSessionEvent.
2219   *
2220   * @permission ohos.permission.SET_TELEPHONY_STATE
2221   * @param { 'callSessionEvent' } type - Event type. Indicates the callSessionEvent
2222   * event to be subscribed to.
2223   * @param { Callback<CallSessionEvent> } callback - Indicates the callback for
2224   * getting the result of CallSessionEvent.
2225   * @throws { BusinessError } 201 - Permission denied.
2226   * @throws { BusinessError } 202 - Non-system applications use system APIs.
2227   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
2228   * 2. Incorrect parameters types;
2229   * @throws { BusinessError } 8300001 - Invalid parameter value.
2230   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
2231   * @throws { BusinessError } 8300003 - System internal error.
2232   * @throws { BusinessError } 8300999 - Unknown error code.
2233   * @syscap SystemCapability.Telephony.CallManager
2234   * @systemapi Hide this for inner system use.
2235   * @since arkts {'1.1':'11','1.2':'20'}
2236   * @arkts 1.1&1.2
2237   */
2238  function on(type: 'callSessionEvent', callback: Callback<CallSessionEvent>): void;
2239
2240  /**
2241   * Unsubscribe from the callSessionEvent.
2242   *
2243   * @permission ohos.permission.SET_TELEPHONY_STATE
2244   * @param { 'callSessionEvent' } type - Event type. Indicates the callSessionEventChange event to
2245   * unsubscribe from.
2246   * @param { Callback<CallSessionEvent> } callback - Indicates the callback to unsubscribe from
2247   * the CallSessionEvent event.
2248   * @throws { BusinessError } 201 - Permission denied.
2249   * @throws { BusinessError } 202 - Non-system applications use system APIs.
2250   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
2251   * 2. Incorrect parameters types;
2252   * @throws { BusinessError } 8300001 - Invalid parameter value.
2253   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
2254   * @throws { BusinessError } 8300003 - System internal error.
2255   * @throws { BusinessError } 8300999 - Unknown error code.
2256   * @syscap SystemCapability.Telephony.CallManager
2257   * @systemapi Hide this for inner system use.
2258   * @since arkts {'1.1':'11','1.2':'20'}
2259   * @arkts 1.1&1.2
2260   */
2261  function off(type: 'callSessionEvent', callback?: Callback<CallSessionEvent>): void;
2262
2263  /**
2264   * Subscribe to the peerDimensionsChange event.
2265   *
2266   * @permission ohos.permission.SET_TELEPHONY_STATE
2267   * @param { 'peerDimensionsChange' } type - Event type. Indicates the peerDimensionsChange event
2268   * to be subscribed to.
2269   * @param { Callback<PeerDimensionsDetail> } callback - Indicates the callback for
2270   * getting the result of PeerDimensionsDetail details.
2271   * @throws { BusinessError } 201 - Permission denied.
2272   * @throws { BusinessError } 202 - Non-system applications use system APIs.
2273   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
2274   * 2. Incorrect parameters types;
2275   * @throws { BusinessError } 8300001 - Invalid parameter value.
2276   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
2277   * @throws { BusinessError } 8300003 - System internal error.
2278   * @throws { BusinessError } 8300999 - Unknown error code.
2279   * @syscap SystemCapability.Telephony.CallManager
2280   * @systemapi Hide this for inner system use.
2281   * @since arkts {'1.1':'11','1.2':'20'}
2282   * @arkts 1.1&1.2
2283   */
2284  function on(type: 'peerDimensionsChange', callback: Callback<PeerDimensionsDetail>): void;
2285
2286  /**
2287   * Unsubscribe from the peerDimensionsChange event.
2288   *
2289   * @permission ohos.permission.SET_TELEPHONY_STATE
2290   * @param { 'peerDimensionsChange' } type - Event type. Indicates the peerDimensionsChange event to
2291   * unsubscribe from.
2292   * @param { Callback<PeerDimensionsDetail> } callback - Indicates the callback to unsubscribe from
2293   * peerDimensionsChange event.
2294   * @throws { BusinessError } 201 - Permission denied.
2295   * @throws { BusinessError } 202 - Non-system applications use system APIs.
2296   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
2297   * 2. Incorrect parameters types;
2298   * @throws { BusinessError } 8300001 - Invalid parameter value.
2299   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
2300   * @throws { BusinessError } 8300003 - System internal error.
2301   * @throws { BusinessError } 8300999 - Unknown error code.
2302   * @syscap SystemCapability.Telephony.CallManager
2303   * @systemapi Hide this for inner system use.
2304   * @since arkts {'1.1':'11','1.2':'20'}
2305   * @arkts 1.1&1.2
2306   */
2307  function off(type: 'peerDimensionsChange', callback?: Callback<PeerDimensionsDetail>): void;
2308
2309  /**
2310   * Subscribe to the cameraCapabilitiesChange event.
2311   *
2312   * @permission ohos.permission.SET_TELEPHONY_STATE
2313   * @param { 'cameraCapabilitiesChange' } type - Event type. Indicates the cameraCapabilitiesChange event
2314   * to be subscribed to.
2315   * @param { Callback<CameraCapabilities> } callback - Indicates the callback for
2316   * getting the result of CameraCapabilities details.
2317   * @throws { BusinessError } 201 - Permission denied.
2318   * @throws { BusinessError } 202 - Non-system applications use system APIs.
2319   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
2320   * 2. Incorrect parameters types;
2321   * @throws { BusinessError } 8300001 - Invalid parameter value.
2322   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
2323   * @throws { BusinessError } 8300003 - System internal error.
2324   * @throws { BusinessError } 8300999 - Unknown error code.
2325   * @syscap SystemCapability.Telephony.CallManager
2326   * @systemapi Hide this for inner system use.
2327   * @since arkts {'1.1':'11','1.2':'20'}
2328   * @arkts 1.1&1.2
2329   */
2330  function on(type: 'cameraCapabilitiesChange', callback: Callback<CameraCapabilities>): void;
2331
2332  /**
2333   * Unsubscribe from the cameraCapabilitiesChange event.
2334   *
2335   * @permission ohos.permission.SET_TELEPHONY_STATE
2336   * @param { 'cameraCapabilitiesChange' } type - Event type. Indicates the cameraCapabilitiesChange event
2337   * to unsubscribe from.
2338   * @param { Callback<CameraCapabilities> } callback - Indicates the callback to unsubscribe from
2339   * cameraCapabilitiesChange event.
2340   * @throws { BusinessError } 201 - Permission denied.
2341   * @throws { BusinessError } 202 - Non-system applications use system APIs.
2342   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
2343   * 2. Incorrect parameters types;
2344   * @throws { BusinessError } 8300001 - Invalid parameter value.
2345   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
2346   * @throws { BusinessError } 8300003 - System internal error.
2347   * @throws { BusinessError } 8300999 - Unknown error code.
2348   * @syscap SystemCapability.Telephony.CallManager
2349   * @systemapi Hide this for inner system use.
2350   * @since arkts {'1.1':'11','1.2':'20'}
2351   * @arkts 1.1&1.2
2352   */
2353  function off(type: 'cameraCapabilitiesChange', callback?: Callback<CameraCapabilities>): void;
2354
2355  /**
2356   * Turn on Ims switch.
2357   *
2358   * @permission ohos.permission.SET_TELEPHONY_STATE
2359   * @param { number } slotId - Indicates the card slot index number,
2360   * ranging from 0 to the maximum card slot index number supported by the device.
2361   * @param { AsyncCallback<void> } callback - The callback of enableImsSwitch.
2362   * @throws { BusinessError } 201 - Permission denied.
2363   * @throws { BusinessError } 202 - Non-system applications use system APIs.
2364   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
2365   * 2. Incorrect parameters types;
2366   * @throws { BusinessError } 8300001 - Invalid parameter value.
2367   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
2368   * @throws { BusinessError } 8300003 - System internal error.
2369   * @throws { BusinessError } 8300999 - Unknown error code.
2370   * @syscap SystemCapability.Telephony.CallManager
2371   * @systemapi Hide this for inner system use.
2372   * @since 8
2373   */
2374  function enableImsSwitch(slotId: number, callback: AsyncCallback<void>): void;
2375
2376  /**
2377   * Turn on Ims switch.
2378   *
2379   * @permission ohos.permission.SET_TELEPHONY_STATE
2380   * @param { number } slotId - Indicates the card slot index number,
2381   * ranging from 0 to the maximum card slot index number supported by the device.
2382   * @returns { Promise<void> } The promise returned by the enableImsSwitch.
2383   * @throws { BusinessError } 201 - Permission denied.
2384   * @throws { BusinessError } 202 - Non-system applications use system APIs.
2385   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
2386   * 2. Incorrect parameters types;
2387   * @throws { BusinessError } 8300001 - Invalid parameter value.
2388   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
2389   * @throws { BusinessError } 8300003 - System internal error.
2390   * @throws { BusinessError } 8300999 - Unknown error code.
2391   * @syscap SystemCapability.Telephony.CallManager
2392   * @systemapi Hide this for inner system use.
2393   * @since 8
2394   */
2395  function enableImsSwitch(slotId: number): Promise<void>;
2396
2397  /**
2398   * Turn off Ims switch.
2399   *
2400   * @permission ohos.permission.SET_TELEPHONY_STATE
2401   * @param { number } slotId - Indicates the card slot index number,
2402   * ranging from 0 to the maximum card slot index number supported by the device.
2403   * @param { AsyncCallback<void> } callback - The callback of disableImsSwitch.
2404   * @throws { BusinessError } 201 - Permission denied.
2405   * @throws { BusinessError } 202 - Non-system applications use system APIs.
2406   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
2407   * 2. Incorrect parameters types;
2408   * @throws { BusinessError } 8300001 - Invalid parameter value.
2409   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
2410   * @throws { BusinessError } 8300003 - System internal error.
2411   * @throws { BusinessError } 8300999 - Unknown error code.
2412   * @syscap SystemCapability.Telephony.CallManager
2413   * @systemapi Hide this for inner system use.
2414   * @since 8
2415   */
2416  function disableImsSwitch(slotId: number, callback: AsyncCallback<void>): void;
2417
2418  /**
2419   * Turn off Ims switch.
2420   *
2421   * @permission ohos.permission.SET_TELEPHONY_STATE
2422   * @param { number } slotId - Indicates the card slot index number,
2423   * ranging from 0 to the maximum card slot index number supported by the device.
2424   * @returns { Promise<void> } The promise returned by the disableImsSwitch.
2425   * @throws { BusinessError } 201 - Permission denied.
2426   * @throws { BusinessError } 202 - Non-system applications use system APIs.
2427   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
2428   * 2. Incorrect parameters types;
2429   * @throws { BusinessError } 8300001 - Invalid parameter value.
2430   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
2431   * @throws { BusinessError } 8300003 - System internal error.
2432   * @throws { BusinessError } 8300999 - Unknown error code.
2433   * @syscap SystemCapability.Telephony.CallManager
2434   * @systemapi Hide this for inner system use.
2435   * @since 8
2436   */
2437  function disableImsSwitch(slotId: number): Promise<void>;
2438
2439  /**
2440   * Judge whether the Ims switch is enabled.
2441   *
2442   * @param { number } slotId - Indicates the card slot index number,
2443   * ranging from 0 to the maximum card slot index number supported by the device.
2444   * @param { AsyncCallback<boolean> } callback - The callback of isImsSwitchEnabled.
2445   * Returns {@code true} If the ims switch is on; returns {@code false} otherwise.
2446   * @throws { BusinessError } 202 - Non-system applications use system APIs.
2447   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
2448   * 2. Incorrect parameters types;
2449   * @throws { BusinessError } 8300001 - Invalid parameter value.
2450   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
2451   * @throws { BusinessError } 8300003 - System internal error.
2452   * @throws { BusinessError } 8300999 - Unknown error code.
2453   * @syscap SystemCapability.Telephony.CallManager
2454   * @systemapi Hide this for inner system use.
2455   * @since 8
2456   */
2457  function isImsSwitchEnabled(slotId: number, callback: AsyncCallback<boolean>): void;
2458
2459  /**
2460   * Judge whether the Ims switch is enabled.
2461   *
2462   * @param { number } slotId - Indicates the card slot index number,
2463   * ranging from 0 to the maximum card slot index number supported by the device.
2464   * @returns { Promise<boolean> } Returns {@code true} If the ims switch is on; returns {@code false} otherwise.
2465   * @throws { BusinessError } 202 - Non-system applications use system APIs.
2466   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
2467   * 2. Incorrect parameters types;
2468   * @throws { BusinessError } 8300001 - Invalid parameter value.
2469   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
2470   * @throws { BusinessError } 8300003 - System internal error.
2471   * @throws { BusinessError } 8300999 - Unknown error code.
2472   * @syscap SystemCapability.Telephony.CallManager
2473   * @systemapi Hide this for inner system use.
2474   * @since 8
2475   */
2476  function isImsSwitchEnabled(slotId: number): Promise<boolean>;
2477
2478  /**
2479   * Judge whether the Ims switch is enabled.
2480   *
2481   * @param { number } slotId - Indicates the card slot index number,
2482   * ranging from 0 to the maximum card slot index number supported by the device.
2483   * @returns { boolean } Returns {@code true} If the ims switch is on; returns {@code false} otherwise.
2484   * @throws { BusinessError } 202 - Non-system applications use system APIs.
2485   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
2486   * 2. Incorrect parameters types;
2487   * @throws { BusinessError } 8300001 - Invalid parameter value.
2488   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
2489   * @throws { BusinessError } 8300003 - System internal error.
2490   * @throws { BusinessError } 8300999 - Unknown error code.
2491   * @syscap SystemCapability.Telephony.CallManager
2492   * @systemapi Hide this for inner system use.
2493   * @since 12
2494   */
2495  function isImsSwitchEnabledSync(slotId: number): boolean;
2496
2497  /**
2498   * Close unfinished ussd.
2499   *
2500   * @permission ohos.permission.SET_TELEPHONY_STATE
2501   * @param { number } slotId - Indicates the card slot index number,
2502   * ranging from 0 to the maximum card slot index number supported by the device.
2503   * @param { AsyncCallback<void> } callback - The callback of closeUnfinishedUssd.
2504   * @throws { BusinessError } 201 - Permission denied.
2505   * @throws { BusinessError } 202 - Non-system applications use system APIs.
2506   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
2507   * 2. Incorrect parameters types;
2508   * @throws { BusinessError } 8300001 - Invalid parameter value.
2509   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
2510   * @throws { BusinessError } 8300003 - System internal error.
2511   * @throws { BusinessError } 8300999 - Unknown error code.
2512   * @syscap SystemCapability.Telephony.CallManager
2513   * @systemapi Hide this for inner system use.
2514   * @since 10
2515   */
2516  function closeUnfinishedUssd(slotId: number, callback: AsyncCallback<void>): void;
2517
2518  /**
2519   * Close unfinished ussd.
2520   *
2521   * @permission ohos.permission.SET_TELEPHONY_STATE
2522   * @param { number } slotId - Indicates the card slot index number,
2523   * ranging from 0 to the maximum card slot index number supported by the device.
2524   * @returns { Promise<void> } The promise returned by the closeUnfinishedUssd.
2525   * @throws { BusinessError } 201 - Permission denied.
2526   * @throws { BusinessError } 202 - Non-system applications use system APIs.
2527   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
2528   * 2. Incorrect parameters types;
2529   * @throws { BusinessError } 8300001 - Invalid parameter value.
2530   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
2531   * @throws { BusinessError } 8300003 - System internal error.
2532   * @throws { BusinessError } 8300999 - Unknown error code.
2533   * @syscap SystemCapability.Telephony.CallManager
2534   * @systemapi Hide this for inner system use.
2535   * @since 10
2536   */
2537  function closeUnfinishedUssd(slotId: number): Promise<void>;
2538
2539  /**
2540   * Set switch state for voice over NR.
2541   *
2542   * @permission ohos.permission.SET_TELEPHONY_STATE
2543   * @param { number } slotId - Indicates the card slot index number,
2544   * ranging from 0 to the maximum card slot index number supported by the device.
2545   * @param { VoNRState } state - Indicates the VoNR state.
2546   * @param { AsyncCallback<void> } callback - The callback of setVoNRState.
2547   * @throws { BusinessError } 201 - Permission denied.
2548   * @throws { BusinessError } 202 - Non-system applications use system APIs.
2549   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
2550   * 2. Incorrect parameters types;
2551   * @throws { BusinessError } 8300001 - Invalid parameter value.
2552   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
2553   * @throws { BusinessError } 8300003 - System internal error.
2554   * @throws { BusinessError } 8300999 - Unknown error code.
2555   * @syscap SystemCapability.Telephony.CallManager
2556   * @systemapi Hide this for inner system use.
2557   * @since 10
2558   */
2559  function setVoNRState(slotId: number, state: VoNRState, callback: AsyncCallback<void>): void;
2560
2561  /**
2562   * Set switch state for voice over NR.
2563   *
2564   * @permission ohos.permission.SET_TELEPHONY_STATE
2565   * @param { number } slotId - Indicates the card slot index number,
2566   * ranging from 0 to the maximum card slot index number supported by the device.
2567   * @param { VoNRState } state - Indicates the VoNR state.
2568   * @returns { Promise<void> } The promise returned by the setVoNRState.
2569   * @throws { BusinessError } 201 - Permission denied.
2570   * @throws { BusinessError } 202 - Non-system applications use system APIs.
2571   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
2572   * 2. Incorrect parameters types;
2573   * @throws { BusinessError } 8300001 - Invalid parameter value.
2574   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
2575   * @throws { BusinessError } 8300003 - System internal error.
2576   * @throws { BusinessError } 8300999 - Unknown error code.
2577   * @syscap SystemCapability.Telephony.CallManager
2578   * @systemapi Hide this for inner system use.
2579   * @since 10
2580   */
2581  function setVoNRState(slotId: number, state: VoNRState): Promise<void>;
2582
2583  /**
2584   * Get switch state for voice over NR.
2585   *
2586   * @permission ohos.permission.GET_TELEPHONY_STATE
2587   * @param { number } slotId - Indicates the card slot index number,
2588   * ranging from 0 to the maximum card slot index number supported by the device.
2589   * @param { AsyncCallback<VoNRState> } callback - Indicates the callback for getVoNRState.
2590   * @throws { BusinessError } 201 - Permission denied.
2591   * @throws { BusinessError } 202 - Non-system applications use system APIs.
2592   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
2593   * 2. Incorrect parameters types;
2594   * @throws { BusinessError } 8300001 - Invalid parameter value.
2595   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
2596   * @throws { BusinessError } 8300003 - System internal error.
2597   * @throws { BusinessError } 8300999 - Unknown error code.
2598   * @syscap SystemCapability.Telephony.CallManager
2599   * @systemapi Hide this for inner system use.
2600   * @since 10
2601   */
2602  function getVoNRState(slotId: number, callback: AsyncCallback<VoNRState>): void;
2603
2604  /**
2605   * Get switch state for voice over NR.
2606   *
2607   * @permission ohos.permission.GET_TELEPHONY_STATE
2608   * @param { number } slotId - Indicates the card slot index number,
2609   * ranging from 0 to the maximum card slot index number supported by the device.
2610   * @returns { Promise<VoNRState> } Returns the VoNR state.
2611   * @throws { BusinessError } 201 - Permission denied.
2612   * @throws { BusinessError } 202 - Non-system applications use system APIs.
2613   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
2614   * 2. Incorrect parameters types;
2615   * @throws { BusinessError } 8300001 - Invalid parameter value.
2616   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
2617   * @throws { BusinessError } 8300003 - System internal error.
2618   * @throws { BusinessError } 8300999 - Unknown error code.
2619   * @syscap SystemCapability.Telephony.CallManager
2620   * @systemapi Hide this for inner system use.
2621   * @since 10
2622   */
2623  function getVoNRState(slotId: number): Promise<VoNRState>;
2624
2625  /**
2626   * Checks whether can set call transfer time.
2627   *
2628   * The system checks whether IP multimedia subsystem domain (IMS) can set call transfer time.
2629   *
2630   * @permission ohos.permission.GET_TELEPHONY_STATE
2631   * @param { number } slotId - Indicates the card slot index number,
2632   * ranging from 0 to the maximum card slot index number supported by the device.
2633   * @param { AsyncCallback<boolean> } callback - Returns {@code true} if the device can set call transfer time;
2634   * returns {@code false} otherwise.
2635   * @throws { BusinessError } 201 - Permission denied.
2636   * @throws { BusinessError } 202 - Non-system applications use system APIs.
2637   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
2638   * 2. Incorrect parameters types;
2639   * @throws { BusinessError } 8300001 - Invalid parameter value.
2640   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
2641   * @throws { BusinessError } 8300003 - System internal error.
2642   * @throws { BusinessError } 8300999 - Unknown error code.
2643   * @syscap SystemCapability.Telephony.CallManager
2644   * @systemapi Hide this for inner system use.
2645   * @since 10
2646   */
2647  function canSetCallTransferTime(slotId: number, callback: AsyncCallback<boolean>): void;
2648
2649  /**
2650   * Checks whether can set call transfer time.
2651   *
2652   * The system checks whether IP multimedia subsystem domain (IMS) can set call transfer time.
2653   *
2654   * @permission ohos.permission.GET_TELEPHONY_STATE
2655   * @param { number } slotId - Indicates the card slot index number,
2656   * ranging from 0 to the maximum card slot index number supported by the device.
2657   * @returns { Promise<boolean> } Returns {@code true} if the device can set call transfer time;
2658   * returns {@code false} otherwise.
2659   * @throws { BusinessError } 201 - Permission denied.
2660   * @throws { BusinessError } 202 - Non-system applications use system APIs.
2661   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
2662   * 2. Incorrect parameters types;
2663   * @throws { BusinessError } 8300001 - Invalid parameter value.
2664   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
2665   * @throws { BusinessError } 8300003 - System internal error.
2666   * @throws { BusinessError } 8300999 - Unknown error code.
2667   * @syscap SystemCapability.Telephony.CallManager
2668   * @systemapi Hide this for inner system use.
2669   * @since 10
2670   */
2671  function canSetCallTransferTime(slotId: number): Promise<boolean>;
2672
2673  /**
2674   * Enters the special code on the keypad.
2675   *
2676   * @permission ohos.permission.PLACE_CALL
2677   * @param { string } inputCode - Indicates the special code to enter.
2678   * @param { AsyncCallback<void> } callback - The callback of inputDialerSpecialCode.
2679   * @throws { BusinessError } 201 - Permission denied.
2680   * @throws { BusinessError } 202 - Non-system applications use system APIs.
2681   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
2682   * 2. Incorrect parameters types;
2683   * @throws { BusinessError } 8300001 - Invalid parameter value.
2684   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
2685   * @throws { BusinessError } 8300003 - System internal error.
2686   * @syscap SystemCapability.Telephony.CallManager
2687   * @systemapi Hide this for inner system use.
2688   * @since 10
2689   */
2690  function inputDialerSpecialCode(inputCode: string, callback: AsyncCallback<void>): void;
2691
2692  /**
2693   * Enters the special code on the keypad.
2694   *
2695   * @permission ohos.permission.PLACE_CALL
2696   * @param { string } inputCode - Indicates the special code to enter.
2697   * @returns { Promise<void> } The promise returned by the inputDialerSpecialCode.
2698   * @throws { BusinessError } 201 - Permission denied.
2699   * @throws { BusinessError } 202 - Non-system applications use system APIs.
2700   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
2701   * 2. Incorrect parameters types;
2702   * @throws { BusinessError } 8300001 - Invalid parameter value.
2703   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
2704   * @throws { BusinessError } 8300003 - System internal error.
2705   * @syscap SystemCapability.Telephony.CallManager
2706   * @systemapi Hide this for inner system use.
2707   * @since 10
2708   */
2709  function inputDialerSpecialCode(inputCode: string): Promise<void>;
2710
2711  /**
2712   * Remove missed incoming call notification.
2713   *
2714   * @permission ohos.permission.SET_TELEPHONY_STATE and ohos.permission.READ_CALL_LOG and
2715   * ohos.permission.WRITE_CALL_LOG
2716   * @param { AsyncCallback<void> } callback - The callback of removeMissedIncomingCallNotification.
2717   * @throws { BusinessError } 201 - Permission denied.
2718   * @throws { BusinessError } 202 - Non-system applications use system APIs.
2719   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
2720   * 2. Incorrect parameters types;
2721   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
2722   * @throws { BusinessError } 8300003 - System internal error.
2723   * @throws { BusinessError } 8300999 - Unknown error code.
2724   * @syscap SystemCapability.Telephony.CallManager
2725   * @systemapi Hide this for inner system use.
2726   * @since 10
2727   */
2728  function removeMissedIncomingCallNotification(callback: AsyncCallback<void>): void;
2729
2730  /**
2731   * Remove missed incoming call notification.
2732   *
2733   * @permission ohos.permission.SET_TELEPHONY_STATE and ohos.permission.READ_CALL_LOG and
2734   * ohos.permission.WRITE_CALL_LOG
2735   * @returns { Promise<void> } The promise returned by the removeMissedIncomingCallNotification.
2736   * @throws { BusinessError } 201 - Permission denied.
2737   * @throws { BusinessError } 202 - Non-system applications use system APIs.
2738   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
2739   * @throws { BusinessError } 8300003 - System internal error.
2740   * @throws { BusinessError } 8300999 - Unknown error code.
2741   * @syscap SystemCapability.Telephony.CallManager
2742   * @systemapi Hide this for inner system use.
2743   * @since 10
2744   */
2745  function removeMissedIncomingCallNotification(): Promise<void>;
2746
2747  /**
2748   * Send call ui event.
2749   *
2750   * @permission ohos.permission.SET_TELEPHONY_STATE
2751   * @param { number } callId - Indicates the identifier of the call.
2752   * @param { string } eventName - Indicates the event name.
2753   * @returns { Promise<void> } The promise returned by the sendCallUiEvent.
2754   * @throws { BusinessError } 201 - Permission denied.
2755   * @throws { BusinessError } 202 - Non-system applications use system APIs.
2756   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
2757   * 2. Incorrect parameters types;
2758   * @throws { BusinessError } 8300001 - Invalid parameter value.
2759   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
2760   * @throws { BusinessError } 8300003 - System internal error.
2761   * @throws { BusinessError } 8300999 - Unknown error code.
2762   * @syscap SystemCapability.Telephony.CallManager
2763   * @systemapi Hide this for inner system use.
2764   * @since 12
2765   */
2766  function sendCallUiEvent(callId: number, eventName: string): Promise<void>;
2767
2768  /**
2769   * Indicates the mode of the ims call.
2770   *
2771   * @enum { number }
2772   * @syscap SystemCapability.Telephony.CallManager
2773   * @systemapi Hide this for inner system use.
2774   * @since 8
2775   */
2776  export enum ImsCallMode {
2777    /**
2778     * Indicates audio only calls.
2779     *
2780     * @syscap SystemCapability.Telephony.CallManager
2781     * @systemapi Hide this for inner system use.
2782     * @since 8
2783     */
2784    CALL_MODE_AUDIO_ONLY = 0,
2785
2786    /**
2787     * Indicates that only calls are sent.
2788     *
2789     * @syscap SystemCapability.Telephony.CallManager
2790     * @systemapi Hide this for inner system use.
2791     * @since 8
2792     */
2793    CALL_MODE_SEND_ONLY,
2794
2795    /**
2796     * Indicates receiving only calls.
2797     *
2798     * @syscap SystemCapability.Telephony.CallManager
2799     * @systemapi Hide this for inner system use.
2800     * @since 8
2801     */
2802    CALL_MODE_RECEIVE_ONLY,
2803
2804    /**
2805     * Indicates permission to send and receive calls.
2806     *
2807     * @syscap SystemCapability.Telephony.CallManager
2808     * @systemapi Hide this for inner system use.
2809     * @since 8
2810     */
2811    CALL_MODE_SEND_RECEIVE,
2812
2813    /**
2814     * Indicates a pause in video calls.
2815     *
2816     * @syscap SystemCapability.Telephony.CallManager
2817     * @systemapi Hide this for inner system use.
2818     * @since 8
2819     */
2820    CALL_MODE_VIDEO_PAUSED,
2821  }
2822
2823  /**
2824   * Indicates the VoNR state.
2825   *
2826   * @enum { number }
2827   * @syscap SystemCapability.Telephony.CallManager
2828   * @systemapi Hide this for inner system use.
2829   * @since 10
2830   */
2831  export enum VoNRState {
2832    /**
2833     * Indicates the VoNR switch is off.
2834     *
2835     * @syscap SystemCapability.Telephony.CallManager
2836     * @systemapi Hide this for inner system use.
2837     * @since 10
2838     */
2839    VONR_STATE_OFF = 0,
2840
2841    /**
2842     * Indicates the VoNR switch is on.
2843     *
2844     * @syscap SystemCapability.Telephony.CallManager
2845     * @systemapi Hide this for inner system use.
2846     * @since 10
2847     */
2848    VONR_STATE_ON = 1,
2849  }
2850
2851  /**
2852   * Indicates the device type of the audio device.
2853   *
2854   * @enum { number }
2855   * @syscap SystemCapability.Telephony.CallManager
2856   * @systemapi Hide this for inner system use.
2857   * @since arkts {'1.1':'10','1.2':'20'}
2858   * @arkts 1.1&1.2
2859   */
2860  export enum AudioDeviceType {
2861    /**
2862     * Indicates the audio device is earpiece.
2863     *
2864     * @syscap SystemCapability.Telephony.CallManager
2865     * @systemapi Hide this for inner system use.
2866     * @since arkts {'1.1':'10','1.2':'20'}
2867     * @arkts 1.1&1.2
2868     */
2869    DEVICE_EARPIECE,
2870
2871    /**
2872     * Indicates the audio device is speaker.
2873     *
2874     * @syscap SystemCapability.Telephony.CallManager
2875     * @systemapi Hide this for inner system use.
2876     * @since arkts {'1.1':'10','1.2':'20'}
2877     * @arkts 1.1&1.2
2878     */
2879    DEVICE_SPEAKER,
2880
2881    /**
2882     * Indicates the audio device is wired headset.
2883     *
2884     * @syscap SystemCapability.Telephony.CallManager
2885     * @systemapi Hide this for inner system use.
2886     * @since arkts {'1.1':'10','1.2':'20'}
2887     * @arkts 1.1&1.2
2888     */
2889    DEVICE_WIRED_HEADSET,
2890
2891    /**
2892     * Indicates the audio device is bluetooth headset.
2893     *
2894     * @syscap SystemCapability.Telephony.CallManager
2895     * @systemapi Hide this for inner system use.
2896     * @since arkts {'1.1':'10','1.2':'20'}
2897     * @arkts 1.1&1.2
2898     */
2899    DEVICE_BLUETOOTH_SCO,
2900
2901    /**
2902     * Indicates the audio device is distributed automotive device.
2903     *
2904     * @syscap SystemCapability.Telephony.CallManager
2905     * @systemapi Hide this for inner system use.
2906     * @since arkts {'1.1':'11','1.2':'20'}
2907     * @arkts 1.1&1.2
2908     */
2909    DEVICE_DISTRIBUTED_AUTOMOTIVE,
2910  }
2911
2912  /**
2913   * Indicates the audio device.
2914   *
2915   * @interface AudioDevice
2916   * @syscap SystemCapability.Telephony.CallManager
2917   * @systemapi Hide this for inner system use.
2918   * @since arkts {'1.1':'10','1.2':'20'}
2919   * @arkts 1.1&1.2
2920   */
2921  export interface AudioDevice {
2922    /**
2923     * Indicates the device type of the audio device.
2924     *
2925     * @type { AudioDeviceType }
2926     * @syscap SystemCapability.Telephony.CallManager
2927     * @systemapi Hide this for inner system use.
2928     * @since arkts {'1.1':'10','1.2':'20'}
2929     * @arkts 1.1&1.2
2930     */
2931    deviceType: AudioDeviceType;
2932
2933    /**
2934     * Indicates the address of the audio device.
2935     *
2936     * @type { ?string }
2937     * @syscap SystemCapability.Telephony.CallManager
2938     * @systemapi Hide this for inner system use.
2939     * @since arkts {'1.1':'10','1.2':'20'}
2940     * @arkts 1.1&1.2
2941     */
2942    address?: string;
2943
2944    /**
2945     * Indicates the name of the audio device.
2946     *
2947     * @type { ?string }
2948     * @syscap SystemCapability.Telephony.CallManager
2949     * @systemapi Hide this for inner system use.
2950     * @since arkts {'1.1':'11','1.2':'20'}
2951     * @arkts 1.1&1.2
2952     */
2953    deviceName?: string;
2954  }
2955
2956  /**
2957   * Indicates the information of the audio device.
2958   *
2959   * @interface AudioDeviceCallbackInfo
2960   * @syscap SystemCapability.Telephony.CallManager
2961   * @systemapi Hide this for inner system use.
2962   * @since arkts {'1.1':'10','1.2':'20'}
2963   * @arkts 1.1&1.2
2964   */
2965  export interface AudioDeviceCallbackInfo {
2966    /**
2967     * Indicates the list of support audio device.
2968     *
2969     * @type { Array<AudioDevice> }
2970     * @syscap SystemCapability.Telephony.CallManager
2971     * @systemapi Hide this for inner system use.
2972     * @since arkts {'1.1':'10','1.2':'20'}
2973     * @arkts 1.1&1.2
2974     */
2975    audioDeviceList: Array<AudioDevice>;
2976
2977    /**
2978     * Indicates the type of current audio device.
2979     *
2980     * @type { AudioDevice }
2981     * @syscap SystemCapability.Telephony.CallManager
2982     * @systemapi Hide this for inner system use.
2983     * @since arkts {'1.1':'10','1.2':'20'}
2984     * @arkts 1.1&1.2
2985     */
2986    currentAudioDevice: AudioDevice;
2987
2988    /**
2989     * Indicates the status of mute.
2990     *
2991     * @type { boolean }
2992     * @syscap SystemCapability.Telephony.CallManager
2993     * @systemapi Hide this for inner system use.
2994     * @since arkts {'1.1':'10','1.2':'20'}
2995     * @arkts 1.1&1.2
2996     */
2997    isMuted: boolean;
2998  }
2999
3000  /**
3001   * Indicates the type of call restriction.
3002   *
3003   * @enum { number }
3004   * @syscap SystemCapability.Telephony.CallManager
3005   * @systemapi Hide this for inner system use.
3006   * @since 8
3007   */
3008  export enum CallRestrictionType {
3009    /**
3010     * Indicates restrict all incoming calls.
3011     *
3012     * @syscap SystemCapability.Telephony.CallManager
3013     * @systemapi Hide this for inner system use.
3014     * @since 8
3015     */
3016    RESTRICTION_TYPE_ALL_INCOMING = 0,
3017
3018    /**
3019     * Indicates restrict all outgoing calls.
3020     *
3021     * @syscap SystemCapability.Telephony.CallManager
3022     * @systemapi Hide this for inner system use.
3023     * @since 8
3024     */
3025    RESTRICTION_TYPE_ALL_OUTGOING,
3026
3027    /**
3028     * Indicates restrict international calls.
3029     *
3030     * @syscap SystemCapability.Telephony.CallManager
3031     * @systemapi Hide this for inner system use.
3032     * @since 8
3033     */
3034    RESTRICTION_TYPE_INTERNATIONAL,
3035
3036    /**
3037     * Indicates restrict international roaming calls.
3038     *
3039     * @syscap SystemCapability.Telephony.CallManager
3040     * @systemapi Hide this for inner system use.
3041     * @since 8
3042     */
3043    RESTRICTION_TYPE_INTERNATIONAL_EXCLUDING_HOME,
3044
3045    /**
3046     * Indicates restrict roaming calls.
3047     *
3048     * @syscap SystemCapability.Telephony.CallManager
3049     * @systemapi Hide this for inner system use.
3050     * @since 8
3051     */
3052    RESTRICTION_TYPE_ROAMING_INCOMING,
3053
3054    /**
3055     * Indicates restrict all calls.
3056     *
3057     * @syscap SystemCapability.Telephony.CallManager
3058     * @systemapi Hide this for inner system use.
3059     * @since 8
3060     */
3061    RESTRICTION_TYPE_ALL_CALLS,
3062
3063    /**
3064     * Indicates restrict all outgoing services.
3065     *
3066     * @syscap SystemCapability.Telephony.CallManager
3067     * @systemapi Hide this for inner system use.
3068     * @since 8
3069     */
3070    RESTRICTION_TYPE_OUTGOING_SERVICES,
3071
3072    /**
3073     * Indicates restrict all incoming services.
3074     *
3075     * @syscap SystemCapability.Telephony.CallManager
3076     * @systemapi Hide this for inner system use.
3077     * @since 8
3078     */
3079    RESTRICTION_TYPE_INCOMING_SERVICES,
3080  }
3081
3082  /**
3083   * Indicates the information of call transfer.
3084   *
3085   * @interface CallTransferInfo
3086   * @syscap SystemCapability.Telephony.CallManager
3087   * @systemapi Hide this for inner system use.
3088   * @since 8
3089   */
3090  export interface CallTransferInfo {
3091    /**
3092     * Phone number.
3093     *
3094     * @type { string }
3095     * @syscap SystemCapability.Telephony.CallManager
3096     * @systemapi Hide this for inner system use.
3097     * @since 8
3098     */
3099    transferNum: string;
3100
3101    /**
3102     * Call forwarding type.
3103     *
3104     * @type { CallTransferType }
3105     * @syscap SystemCapability.Telephony.CallManager
3106     * @systemapi Hide this for inner system use.
3107     * @since 8
3108     */
3109    type: CallTransferType;
3110
3111    /**
3112     * Call forwarding setting type.
3113     *
3114     * @type { CallTransferSettingType }
3115     * @syscap SystemCapability.Telephony.CallManager
3116     * @systemapi Hide this for inner system use.
3117     * @since 8
3118     */
3119    settingType: CallTransferSettingType;
3120
3121    /**
3122     * Start time hours.
3123     *
3124     * @type { ?number }
3125     * @syscap SystemCapability.Telephony.CallManager
3126     * @systemapi Hide this for inner system use.
3127     * @since 9
3128     */
3129    startHour?: number;
3130
3131    /**
3132     * Start time minutes.
3133     *
3134     * @type { ?number }
3135     * @syscap SystemCapability.Telephony.CallManager
3136     * @systemapi Hide this for inner system use.
3137     * @since 9
3138     */
3139    startMinute?: number;
3140
3141    /**
3142     * End time hours.
3143     *
3144     * @type { ?number }
3145     * @syscap SystemCapability.Telephony.CallManager
3146     * @systemapi Hide this for inner system use.
3147     * @since 9
3148     */
3149    endHour?: number;
3150
3151    /**
3152     * End time minutes.
3153     *
3154     * @type { ?number }
3155     * @syscap SystemCapability.Telephony.CallManager
3156     * @systemapi Hide this for inner system use.
3157     * @since 9
3158     */
3159    endMinute?: number;
3160  }
3161
3162  /**
3163   * Indicates the type of call transfer.
3164   *
3165   * @enum { number }
3166   * @syscap SystemCapability.Telephony.CallManager
3167   * @systemapi Hide this for inner system use.
3168   * @since 8
3169   */
3170  export enum CallTransferType {
3171    /**
3172     * Indicates unconditional transfer of a call.
3173     *
3174     * @syscap SystemCapability.Telephony.CallManager
3175     * @systemapi Hide this for inner system use.
3176     * @since 8
3177     */
3178    TRANSFER_TYPE_UNCONDITIONAL = 0,
3179
3180    /**
3181     * Indicates transfer the call when busy.
3182     *
3183     * @syscap SystemCapability.Telephony.CallManager
3184     * @systemapi Hide this for inner system use.
3185     * @since 8
3186     */
3187    TRANSFER_TYPE_BUSY,
3188
3189    /**
3190     * Indicates transfer the call when no reply.
3191     *
3192     * @syscap SystemCapability.Telephony.CallManager
3193     * @systemapi Hide this for inner system use.
3194     * @since 8
3195     */
3196    TRANSFER_TYPE_NO_REPLY,
3197
3198    /**
3199     * Indicates transfer the call when unreachable.
3200     *
3201     * @syscap SystemCapability.Telephony.CallManager
3202     * @systemapi Hide this for inner system use.
3203     * @since 8
3204     */
3205    TRANSFER_TYPE_NOT_REACHABLE,
3206  }
3207
3208  /**
3209   * Indicates the type of call transfer setting.
3210   *
3211   * @enum { number }
3212   * @syscap SystemCapability.Telephony.CallManager
3213   * @systemapi Hide this for inner system use.
3214   * @since 8
3215   */
3216  export enum CallTransferSettingType {
3217    /**
3218     * Indicates disable the call transfer.
3219     *
3220     * @syscap SystemCapability.Telephony.CallManager
3221     * @systemapi Hide this for inner system use.
3222     * @since 8
3223     */
3224    CALL_TRANSFER_DISABLE = 0,
3225
3226    /**
3227     * Indicates enable the call transfer.
3228     *
3229     * @syscap SystemCapability.Telephony.CallManager
3230     * @systemapi Hide this for inner system use.
3231     * @since 8
3232     */
3233    CALL_TRANSFER_ENABLE = 1,
3234
3235    /**
3236     * Indicates register the call transfer.
3237     *
3238     * @syscap SystemCapability.Telephony.CallManager
3239     * @systemapi Hide this for inner system use.
3240     * @since 8
3241     */
3242    CALL_TRANSFER_REGISTRATION = 3,
3243
3244    /**
3245     * Indicates erasure the call transfer.
3246     *
3247     * @syscap SystemCapability.Telephony.CallManager
3248     * @systemapi Hide this for inner system use.
3249     * @since 8
3250     */
3251    CALL_TRANSFER_ERASURE = 4,
3252  }
3253
3254  /**
3255   * Indicates the options of call attribute.
3256   *
3257   * @interface CallAttributeOptions
3258   * @syscap SystemCapability.Telephony.CallManager
3259   * @systemapi Hide this for inner system use.
3260   * @since arkts {'1.1':'7','1.2':'20'}
3261   * @arkts 1.1&1.2
3262   */
3263  export interface CallAttributeOptions {
3264    /**
3265     * Indicates the number of account.
3266     *
3267     * @type { string }
3268     * @syscap SystemCapability.Telephony.CallManager
3269     * @systemapi Hide this for inner system use.
3270     * @since 7
3271     */
3272    accountNumber: string;
3273
3274    /**
3275     * Indicates if the call is start with speaker.
3276     *
3277     * @type { boolean }
3278     * @syscap SystemCapability.Telephony.CallManager
3279     * @systemapi Hide this for inner system use.
3280     * @since 7
3281     */
3282    speakerphoneOn: boolean;
3283
3284    /**
3285     * Indicates the id of account.
3286     *
3287     * @type { number }
3288     * @syscap SystemCapability.Telephony.CallManager
3289     * @systemapi Hide this for inner system use.
3290     * @since 7
3291     */
3292    accountId: number;
3293
3294    /**
3295     * Indicates the type of video state.
3296     *
3297     * @type { VideoStateType }
3298     * @syscap SystemCapability.Telephony.CallManager
3299     * @systemapi Hide this for inner system use.
3300     * @since 7
3301     */
3302    videoState: VideoStateType;
3303
3304    /**
3305     * Indicates the start time.
3306     *
3307     * @type { number }
3308     * @syscap SystemCapability.Telephony.CallManager
3309     * @systemapi Hide this for inner system use.
3310     * @since 7
3311     */
3312    startTime: number;
3313
3314    /**
3315     * Indicates if this is an emergency call.
3316     *
3317     * @type { boolean }
3318     * @syscap SystemCapability.Telephony.CallManager
3319     * @systemapi Hide this for inner system use.
3320     * @since 7
3321     */
3322    isEcc: boolean;
3323
3324    /**
3325     * Indicates the type of call.
3326     *
3327     * @type { CallType }
3328     * @syscap SystemCapability.Telephony.CallManager
3329     * @systemapi Hide this for inner system use.
3330     * @since arkts {'1.1':'7','1.2':'20'}
3331     * @arkts 1.1&1.2
3332     */
3333    callType: CallType;
3334
3335    /**
3336     * Indicates the id of call.
3337     *
3338     * @type { number }
3339     * @syscap SystemCapability.Telephony.CallManager
3340     * @systemapi Hide this for inner system use.
3341     * @since arkts {'1.1':'7','1.2':'20'}
3342     * @arkts 1.1&1.2
3343     */
3344    callId: number;
3345
3346    /**
3347     * Indicates the detailed state of call.
3348     *
3349     * @type { DetailedCallState }
3350     * @syscap SystemCapability.Telephony.CallManager
3351     * @systemapi Hide this for inner system use.
3352     * @since arkts {'1.1':'7','1.2':'20'}
3353     * @arkts 1.1&1.2
3354     */
3355    callState: DetailedCallState;
3356
3357    /**
3358     * Indicates the state of conference.
3359     *
3360     * @type { ConferenceState }
3361     * @syscap SystemCapability.Telephony.CallManager
3362     * @systemapi Hide this for inner system use.
3363     * @since 7
3364     */
3365    conferenceState: ConferenceState;
3366
3367    /**
3368     * Indicates the detail information of voip call.
3369     *
3370     * @type { ?VoipCallAttribute }
3371     * @syscap SystemCapability.Telephony.CallManager
3372     * @systemapi Hide this for inner system use.
3373     * @since 11
3374     */
3375    voipCallAttribute?: VoipCallAttribute;
3376
3377    /**
3378     * Indicates the color tone type.
3379     *
3380     * @type { number }
3381     * @syscap SystemCapability.Telephony.CallManager
3382     * @systemapi Hide this for inner system use.
3383     * @since 11
3384     */
3385    crsType: number;
3386
3387    /**
3388     * Indicates the initial type of this call.
3389     *
3390     * @type { number }
3391     * @syscap SystemCapability.Telephony.CallManager
3392     * @systemapi Hide this for inner system use.
3393     * @since 11
3394     */
3395    originalCallType: number;
3396
3397    /**
3398     * Indicates the location of the phone number.
3399     *
3400     * @type { ?string }
3401     * @syscap SystemCapability.Telephony.CallManager
3402     * @systemapi Hide this for inner system use.
3403     * @since 12
3404     */
3405    numberLocation?: string;
3406
3407    /**
3408     * Indicates the mark information of the phone number.
3409     *
3410     * @type { ?NumberMarkInfo }
3411     * @syscap SystemCapability.Telephony.CallManager
3412     * @systemapi Hide this for inner system use.
3413     * @since 12
3414     */
3415    numberMarkInfo?: NumberMarkInfo;
3416
3417    /**
3418     * Indicates the extra call parameters.
3419     *
3420     * @type { ?Record<string, Object> }
3421     * @syscap SystemCapability.Telephony.CallManager
3422     * @systemapi Hide this for inner system use.
3423     * @since 14
3424     */
3425    extraParams?: Record<string, Object>;
3426  }
3427
3428  /**
3429   * Indicates the voip call detail information.
3430   *
3431   * @interface VoipCallAttribute
3432   * @syscap SystemCapability.Telephony.CallManager
3433   * @systemapi Hide this for inner system use.
3434   * @since 11
3435   */
3436  export interface VoipCallAttribute {
3437    /**
3438     * Indicates the identifier of the voip call.
3439     *
3440     * @type { string }
3441     * @syscap SystemCapability.Telephony.CallManager
3442     * @systemapi Hide this for inner system use.
3443     * @since 11
3444     */
3445    voipCallId: string;
3446
3447    /**
3448     * Indicates the user name of the VoIP call.
3449     *
3450     * @type { string }
3451     * @syscap SystemCapability.Telephony.CallManager
3452     * @systemapi Hide this for inner system use.
3453     * @since 11
3454     */
3455    userName: string;
3456
3457    /**
3458     * Indicates the user profile photo of the VoIP call.
3459     *
3460     * @type { image.PixelMap }
3461     * @syscap SystemCapability.Telephony.CallManager
3462     * @systemapi Hide this for inner system use.
3463     * @since 11
3464     */
3465    userProfile: image.PixelMap;
3466
3467    /**
3468     * Indicates the third-party application process specific identifier.
3469     *
3470     * @type { string }
3471     * @syscap SystemCapability.Telephony.CallManager
3472     * @systemapi Hide this for inner system use.
3473     * @since 11
3474     */
3475    extensionId: string;
3476
3477    /**
3478     * Indicates the third-party application UI extension ability name.
3479     *
3480     * @type { string }
3481     * @syscap SystemCapability.Telephony.CallManager
3482     * @systemapi Hide this for inner system use.
3483     * @since 11
3484     */
3485    abilityName: string;
3486
3487    /**
3488     * Indicates the third-party application bundle name.
3489     *
3490     * @type { string }
3491     * @syscap SystemCapability.Telephony.CallManager
3492     * @systemapi Hide this for inner system use.
3493     * @since 11
3494     */
3495    voipBundleName: string;
3496
3497    /**
3498     * Indicates whether the VoIP incoming call default show live call banner. Default value is true.
3499     *
3500     * @type { ?boolean }
3501     * @syscap SystemCapability.Telephony.CallManager
3502     * @systemapi Hide this for inner system use.
3503     * @since 12
3504     */
3505    showBannerForIncomingCall?: boolean;
3506
3507    /**
3508     * Indicates whether the VoIP call is a conference call. Default value is false.
3509     *
3510     * @type { ?boolean }
3511     * @syscap SystemCapability.Telephony.CallManager
3512     * @systemapi Hide this for inner system use.
3513     * @since 12
3514     */
3515    isConferenceCall?: boolean;
3516
3517    /**
3518     * Indicates whether the VoIP incoming video call is support voice answer. Default value is true.
3519     *
3520     * @type { ?boolean }
3521     * @syscap SystemCapability.Telephony.CallManager
3522     * @systemapi Hide this for inner system use.
3523     * @since 12
3524     */
3525    isVoiceAnswerSupported?: boolean;
3526  }
3527
3528  /**
3529   * Indicates the state of conference call.
3530   *
3531   * @enum { number }
3532   * @syscap SystemCapability.Telephony.CallManager
3533   * @systemapi Hide this for inner system use.
3534   * @since 7
3535   */
3536  export enum ConferenceState {
3537    /**
3538     * Indicates the state is idle.
3539     *
3540     * @syscap SystemCapability.Telephony.CallManager
3541     * @systemapi Hide this for inner system use.
3542     * @since 7
3543     */
3544    TEL_CONFERENCE_IDLE = 0,
3545
3546    /**
3547     * Indicates the state is active.
3548     *
3549     * @syscap SystemCapability.Telephony.CallManager
3550     * @systemapi Hide this for inner system use.
3551     * @since 7
3552     */
3553    TEL_CONFERENCE_ACTIVE,
3554
3555    /**
3556     * Indicates the state is disconnecting.
3557     *
3558     * @syscap SystemCapability.Telephony.CallManager
3559     * @systemapi Hide this for inner system use.
3560     * @since 7
3561     */
3562    TEL_CONFERENCE_DISCONNECTING,
3563
3564    /**
3565     * Indicates the state is disconnected.
3566     *
3567     * @syscap SystemCapability.Telephony.CallManager
3568     * @systemapi Hide this for inner system use.
3569     * @since 7
3570     */
3571    TEL_CONFERENCE_DISCONNECTED,
3572  }
3573
3574  /**
3575   * Indicates the type of call.
3576   *
3577   * @enum { number }
3578   * @syscap SystemCapability.Telephony.CallManager
3579   * @systemapi Hide this for inner system use.
3580   * @since arkts {'1.1':'7','1.2':'20'}
3581   * @arkts 1.1&1.2
3582   */
3583  export enum CallType {
3584    /**
3585     * Indicates the call type is CS.
3586     *
3587     * @syscap SystemCapability.Telephony.CallManager
3588     * @systemapi Hide this for inner system use.
3589     * @since arkts {'1.1':'7','1.2':'20'}
3590     * @arkts 1.1&1.2
3591     */
3592    TYPE_CS = 0,
3593
3594    /**
3595     * Indicates the call type is IMS.
3596     *
3597     * @syscap SystemCapability.Telephony.CallManager
3598     * @systemapi Hide this for inner system use.
3599     * @since arkts {'1.1':'7','1.2':'20'}
3600     * @arkts 1.1&1.2
3601     */
3602    TYPE_IMS = 1,
3603
3604    /**
3605     * Indicates the call type is OTT.
3606     *
3607     * @syscap SystemCapability.Telephony.CallManager
3608     * @systemapi Hide this for inner system use.
3609     * @since arkts {'1.1':'7','1.2':'20'}
3610     * @arkts 1.1&1.2
3611     */
3612    TYPE_OTT = 2,
3613
3614    /**
3615     * Indicates the call type is OTHER.
3616     *
3617     * @syscap SystemCapability.Telephony.CallManager
3618     * @systemapi Hide this for inner system use.
3619     * @since arkts {'1.1':'7','1.2':'20'}
3620     * @arkts 1.1&1.2
3621     */
3622    TYPE_ERR_CALL = 3,
3623
3624    /**
3625     * Indicates the call type is VoIP.
3626     *
3627     * @syscap SystemCapability.Telephony.CallManager
3628     * @systemapi Hide this for inner system use.
3629     * @since arkts {'1.1':'11','1.2':'20'}
3630     * @arkts 1.1&1.2
3631     */
3632    TYPE_VOIP = 4,
3633  }
3634
3635  /**
3636   * Indicates the type of video state.
3637   *
3638   * @enum { number }
3639   * @syscap SystemCapability.Telephony.CallManager
3640   * @systemapi Hide this for inner system use.
3641   * @since 7
3642   */
3643  export enum VideoStateType {
3644    /**
3645     * Indicates the call is in voice state.
3646     *
3647     * @syscap SystemCapability.Telephony.CallManager
3648     * @systemapi Hide this for inner system use.
3649     * @since 7
3650     */
3651    TYPE_VOICE = 0,
3652    /**
3653     * Indicates the call is in video state.
3654     *
3655     * @syscap SystemCapability.Telephony.CallManager
3656     * @systemapi Hide this for inner system use.
3657     * @since 7
3658     * @deprecated since 11
3659     * @useinstead telephony.call#TYPE_VIDEO_BIDIRECTIONAL
3660     */
3661    TYPE_VIDEO,
3662    /**
3663     * Indicates the call is in send only video state.
3664     *
3665     * @syscap SystemCapability.Telephony.CallManager
3666     * @systemapi Hide this for inner system use.
3667     * @since 11
3668     */
3669    TYPE_VIDEO_SEND_ONLY = 1,
3670    /**
3671     * Indicates the call is in receive only video state.
3672     *
3673     * @syscap SystemCapability.Telephony.CallManager
3674     * @systemapi Hide this for inner system use.
3675     * @since 11
3676     */
3677    TYPE_VIDEO_RECEIVE_ONLY,
3678    /**
3679     * Indicates the call is in send and receive video state.
3680     *
3681     * @syscap SystemCapability.Telephony.CallManager
3682     * @systemapi Hide this for inner system use.
3683     * @since 11
3684     */
3685    TYPE_VIDEO_BIDIRECTIONAL,
3686  }
3687
3688  /**
3689   * Indicates the type of video request result.
3690   *
3691   * @enum { number }
3692   * @syscap SystemCapability.Telephony.CallManager
3693   * @systemapi Hide this for inner system use.
3694   * @since 11
3695   */
3696  export enum VideoRequestResultType {
3697    /**
3698     * Indicates the request was successful.
3699     *
3700     * @syscap SystemCapability.Telephony.CallManager
3701     * @systemapi Hide this for inner system use.
3702     * @since 11
3703     */
3704    TYPE_REQUEST_SUCCESS = 0,
3705    /**
3706     * Indicates the request failed.
3707     *
3708     * @syscap SystemCapability.Telephony.CallManager
3709     * @systemapi Hide this for inner system use.
3710     * @since 11
3711     */
3712    TYPE_REQUEST_FAILURE,
3713    /**
3714     * Indicates the request ignored due to invalid parameters.
3715     *
3716     * @syscap SystemCapability.Telephony.CallManager
3717     * @systemapi Hide this for inner system use.
3718     * @since 11
3719     */
3720    TYPE_REQUEST_INVALID,
3721    /**
3722     * Indicates the request timed out.
3723     *
3724     * @syscap SystemCapability.Telephony.CallManager
3725     * @systemapi Hide this for inner system use.
3726     * @since 11
3727     */
3728    TYPE_REQUEST_TIMED_OUT,
3729    /**
3730     * Indicates the request rejected by remote.
3731     *
3732     * @syscap SystemCapability.Telephony.CallManager
3733     * @systemapi Hide this for inner system use.
3734     * @since 11
3735     */
3736    TYPE_REQUEST_REJECTED_BY_REMOTE,
3737    /**
3738     * Indicates the upgrade request canceled.
3739     *
3740     * @syscap SystemCapability.Telephony.CallManager
3741     * @systemapi Hide this for inner system use.
3742     * @since 11
3743     */
3744    TYPE_REQUEST_UPGRADE_CANCELED,
3745    /**
3746     * Indicates the ImsCall Mode downgrade RTP time out.
3747     *
3748     * @syscap SystemCapability.Telephony.CallManager
3749     * @systemapi Hide this for inner system use.
3750     * @since 11
3751     */
3752    TYPE_DOWNGRADE_RTP_OR_RTCP_TIMEOUT = 100,
3753    /**
3754     * Indicates the ImsCall Mode downgrade RTP and RTCP time out.
3755     *
3756     * @syscap SystemCapability.Telephony.CallManager
3757     * @systemapi Hide this for inner system use.
3758     * @since 11
3759     */
3760    TYPE_DOWNGRADE_RTP_AND_RTCP_TIMEOUT,
3761  }
3762
3763  /**
3764   * Indicates the type of device direction.
3765   *
3766   * @enum { number }
3767   * @syscap SystemCapability.Telephony.CallManager
3768   * @systemapi Hide this for inner system use.
3769   * @since 11
3770   */
3771  export enum DeviceDirection {
3772    /**
3773     * Indicates the device direction is 0 degree.
3774     *
3775     * @syscap SystemCapability.Telephony.CallManager
3776     * @systemapi Hide this for inner system use.
3777     * @since 11
3778     */
3779    DEVICE_DIRECTION_0 = 0,
3780    /**
3781     * Indicates the device direction is 90 degree.
3782     *
3783     * @syscap SystemCapability.Telephony.CallManager
3784     * @systemapi Hide this for inner system use.
3785     * @since 11
3786     */
3787    DEVICE_DIRECTION_90 = 90,
3788    /**
3789     * Indicates the device direction is 180 degree.
3790     *
3791     * @syscap SystemCapability.Telephony.CallManager
3792     * @systemapi Hide this for inner system use.
3793     * @since 11
3794     */
3795    DEVICE_DIRECTION_180 = 180,
3796    /**
3797     * Indicates the device direction is 270 degree.
3798     *
3799     * @syscap SystemCapability.Telephony.CallManager
3800     * @systemapi Hide this for inner system use.
3801     * @since 11
3802     */
3803    DEVICE_DIRECTION_270 = 270,
3804  }
3805
3806  /**
3807   * Indicates the type of video call event.
3808   *
3809   * @enum { number }
3810   * @syscap SystemCapability.Telephony.CallManager
3811   * @systemapi Hide this for inner system use.
3812   * @since 11
3813   */
3814  export enum CallSessionEventId {
3815    /**
3816     * Indicates set camera fail event.
3817     *
3818     * @syscap SystemCapability.Telephony.CallManager
3819     * @systemapi Hide this for inner system use.
3820     * @since 11
3821     */
3822    EVENT_CONTROL_CAMERA_FAILURE = 0,
3823    /**
3824     * Indicates set camera successful event.
3825     *
3826     * @syscap SystemCapability.Telephony.CallManager
3827     * @systemapi Hide this for inner system use.
3828     * @since 11
3829     */
3830    EVENT_CONTROL_CAMERA_READY,
3831    /**
3832     * Indicates release display surface event.
3833     *
3834     * @syscap SystemCapability.Telephony.CallManager
3835     * @systemapi Hide this for inner system use.
3836     * @since 11
3837     */
3838    EVENT_DISPLAY_SURFACE_RELEASED = 100,
3839    /**
3840     * Indicates release preview surface event.
3841     *
3842     * @syscap SystemCapability.Telephony.CallManager
3843     * @systemapi Hide this for inner system use.
3844     * @since 11
3845     */
3846    EVENT_PREVIEW_SURFACE_RELEASED,
3847  }
3848
3849  /**
3850   * Indicates the detailed state of call.
3851   *
3852   * @enum { number }
3853   * @syscap SystemCapability.Telephony.CallManager
3854   * @systemapi Hide this for inner system use.
3855   * @since arkts {'1.1':'7','1.2':'20'}
3856   * @arkts 1.1&1.2
3857   */
3858  export enum DetailedCallState {
3859    /**
3860     * Indicates the call is active.
3861     *
3862     * @syscap SystemCapability.Telephony.CallManager
3863     * @systemapi Hide this for inner system use.
3864     * @since arkts {'1.1':'7','1.2':'20'}
3865     * @arkts 1.1&1.2
3866     */
3867    CALL_STATUS_ACTIVE = 0,
3868
3869    /**
3870     * Indicates the call is holding.
3871     *
3872     * @syscap SystemCapability.Telephony.CallManager
3873     * @systemapi Hide this for inner system use.
3874     * @since arkts {'1.1':'7','1.2':'20'}
3875     * @arkts 1.1&1.2
3876     */
3877    CALL_STATUS_HOLDING,
3878
3879    /**
3880     * Indicates the call is dialing.
3881     *
3882     * @syscap SystemCapability.Telephony.CallManager
3883     * @systemapi Hide this for inner system use.
3884     * @since arkts {'1.1':'7','1.2':'20'}
3885     * @arkts 1.1&1.2
3886     */
3887    CALL_STATUS_DIALING,
3888
3889    /**
3890     * Indicates the call is alerting.
3891     *
3892     * @syscap SystemCapability.Telephony.CallManager
3893     * @systemapi Hide this for inner system use.
3894     * @since arkts {'1.1':'7','1.2':'20'}
3895     * @arkts 1.1&1.2
3896     */
3897    CALL_STATUS_ALERTING,
3898
3899    /**
3900     * Indicates the call is incoming.
3901     *
3902     * @syscap SystemCapability.Telephony.CallManager
3903     * @systemapi Hide this for inner system use.
3904     * @since arkts {'1.1':'7','1.2':'20'}
3905     * @arkts 1.1&1.2
3906     */
3907    CALL_STATUS_INCOMING,
3908
3909    /**
3910     * Indicates the call is waiting.
3911     *
3912     * @syscap SystemCapability.Telephony.CallManager
3913     * @systemapi Hide this for inner system use.
3914     * @since arkts {'1.1':'7','1.2':'20'}
3915     * @arkts 1.1&1.2
3916     */
3917    CALL_STATUS_WAITING,
3918
3919    /**
3920     * Indicates the call is disconnected.
3921     *
3922     * @syscap SystemCapability.Telephony.CallManager
3923     * @systemapi Hide this for inner system use.
3924     * @since arkts {'1.1':'7','1.2':'20'}
3925     * @arkts 1.1&1.2
3926     */
3927    CALL_STATUS_DISCONNECTED,
3928
3929    /**
3930     * Indicates the call is disconnecting.
3931     *
3932     * @syscap SystemCapability.Telephony.CallManager
3933     * @systemapi Hide this for inner system use.
3934     * @since arkts {'1.1':'7','1.2':'20'}
3935     * @arkts 1.1&1.2
3936     */
3937    CALL_STATUS_DISCONNECTING,
3938
3939    /**
3940     * Indicates the call is idle.
3941     *
3942     * @syscap SystemCapability.Telephony.CallManager
3943     * @systemapi Hide this for inner system use.
3944     * @since arkts {'1.1':'7','1.2':'20'}
3945     * @arkts 1.1&1.2
3946     */
3947    CALL_STATUS_IDLE,
3948  }
3949
3950  /**
3951   * Indicates the information of call restriction.
3952   *
3953   * @interface CallRestrictionInfo
3954   * @syscap SystemCapability.Telephony.CallManager
3955   * @systemapi Hide this for inner system use.
3956   * @since 8
3957   */
3958  export interface CallRestrictionInfo {
3959    /**
3960     * Indicates the type of call restriction.
3961     *
3962     * @type { CallRestrictionType }
3963     * @syscap SystemCapability.Telephony.CallManager
3964     * @systemapi Hide this for inner system use.
3965     * @since 8
3966     */
3967    type: CallRestrictionType;
3968
3969    /**
3970     * Indicates the password required to set call restrictions.
3971     *
3972     * @type { string }
3973     * @syscap SystemCapability.Telephony.CallManager
3974     * @systemapi Hide this for inner system use.
3975     * @since 8
3976     */
3977    password: string;
3978
3979    /**
3980     * Indicates the mode of call restriction.
3981     *
3982     * @type { CallRestrictionMode }
3983     * @syscap SystemCapability.Telephony.CallManager
3984     * @systemapi Hide this for inner system use.
3985     * @since 8
3986     */
3987    mode: CallRestrictionMode;
3988  }
3989
3990  /**
3991   * Indicates the mode of call restriction.
3992   *
3993   * @enum { number }
3994   * @syscap SystemCapability.Telephony.CallManager
3995   * @systemapi Hide this for inner system use.
3996   * @since 8
3997   */
3998  export enum CallRestrictionMode {
3999    /**
4000     * Indicates call restriction is deactivated.
4001     *
4002     * @syscap SystemCapability.Telephony.CallManager
4003     * @systemapi Hide this for inner system use.
4004     * @since 8
4005     */
4006    RESTRICTION_MODE_DEACTIVATION = 0,
4007
4008    /**
4009     * Indicates call restriction is activated.
4010     *
4011     * @syscap SystemCapability.Telephony.CallManager
4012     * @systemapi Hide this for inner system use.
4013     * @since 8
4014     */
4015    RESTRICTION_MODE_ACTIVATION,
4016  }
4017
4018  /**
4019   * Indicates the options of call event.
4020   *
4021   * @interface CallEventOptions
4022   * @syscap SystemCapability.Telephony.CallManager
4023   * @systemapi Hide this for inner system use.
4024   * @since arkts {'1.1':'8','1.2':'20'}
4025   * @arkts 1.1&1.2
4026   */
4027  export interface CallEventOptions {
4028    /**
4029     * Indicates the event ID of call ability.
4030     *
4031     * @type { CallAbilityEventId }
4032     * @syscap SystemCapability.Telephony.CallManager
4033     * @systemapi Hide this for inner system use.
4034     * @since arkts {'1.1':'8','1.2':'20'}
4035     * @arkts 1.1&1.2
4036     */
4037    eventId: CallAbilityEventId,
4038  }
4039
4040  /**
4041   * Indicates the event ID of call ability.
4042   *
4043   * @enum { number }
4044   * @syscap SystemCapability.Telephony.CallManager
4045   * @systemapi Hide this for inner system use.
4046   * @since arkts {'1.1':'8','1.2':'20'}
4047   * @arkts 1.1&1.2
4048   */
4049  export enum CallAbilityEventId {
4050    /**
4051     * Indicates there is no available carrier during dialing.
4052     *
4053     * @syscap SystemCapability.Telephony.CallManager
4054     * @systemapi Hide this for inner system use.
4055     * @since arkts {'1.1':'8','1.2':'20'}
4056     * @arkts 1.1&1.2
4057     */
4058    EVENT_DIAL_NO_CARRIER = 1,
4059
4060    /**
4061     * Indicates invalid FDN.
4062     *
4063     * @syscap SystemCapability.Telephony.CallManager
4064     * @systemapi Hide this for inner system use.
4065     * @since arkts {'1.1':'8','1.2':'20'}
4066     * @arkts 1.1&1.2
4067     */
4068    EVENT_INVALID_FDN_NUMBER,
4069
4070    /**
4071     * Indicates hold call fail.
4072     *
4073     * @syscap SystemCapability.Telephony.CallManager
4074     * @systemapi Hide this for inner system use.
4075     * @since arkts {'1.1':'11','1.2':'20'}
4076     * @arkts 1.1&1.2
4077     */
4078    EVENT_HOLD_CALL_FAILED,
4079
4080    /**
4081     * Indicates swap call fail.
4082     *
4083     * @syscap SystemCapability.Telephony.CallManager
4084     * @systemapi Hide this for inner system use.
4085     * @since arkts {'1.1':'11','1.2':'20'}
4086     * @arkts 1.1&1.2
4087     */
4088    EVENT_SWAP_CALL_FAILED,
4089
4090    /**
4091     * Indicates combine call failed.
4092     *
4093     * @syscap SystemCapability.Telephony.CallManager
4094     * @systemapi Hide this for inner system use.
4095     * @since arkts {'1.1':'11','1.2':'20'}
4096     * @arkts 1.1&1.2
4097     */
4098    EVENT_COMBINE_CALL_FAILED,
4099
4100    /**
4101     * Indicates split call failed.
4102     *
4103     * @syscap SystemCapability.Telephony.CallManager
4104     * @systemapi Hide this for inner system use.
4105     * @since arkts {'1.1':'11','1.2':'20'}
4106     * @arkts 1.1&1.2
4107     */
4108    EVENT_SPLIT_CALL_FAILED,
4109
4110    /**
4111     * Indicates show full screen.
4112     *
4113     * @syscap SystemCapability.Telephony.CallManager
4114     * @systemapi Hide this for inner system use.
4115     * @since arkts {'1.1':'12','1.2':'20'}
4116     * @arkts 1.1&1.2
4117     */
4118    EVENT_SHOW_FULL_SCREEN,
4119
4120    /**
4121     * Indicates show float window.
4122     *
4123     * @syscap SystemCapability.Telephony.CallManager
4124     * @systemapi Hide this for inner system use.
4125     * @since arkts {'1.1':'12','1.2':'20'}
4126     * @arkts 1.1&1.2
4127     */
4128    EVENT_SHOW_FLOAT_WINDOW,
4129  }
4130
4131  /**
4132   * Indicates the states of call.
4133   *
4134   * @enum { number }
4135   * @syscap SystemCapability.Telephony.CallManager
4136   * @since arkts {'1.1':'6','1.2':'20'}
4137   * @arkts 1.1&1.2
4138   */
4139  export enum CallState {
4140    /**
4141     * Indicates an invalid state, which is used when the call state fails to be obtained.
4142     *
4143     * @syscap SystemCapability.Telephony.CallManager
4144     * @since arkts {'1.1':'6','1.2':'20'}
4145     * @arkts 1.1&1.2
4146     */
4147    CALL_STATE_UNKNOWN = -1,
4148
4149    /**
4150     * Indicates that there is no ongoing call.
4151     *
4152     * @syscap SystemCapability.Telephony.CallManager
4153     * @since arkts {'1.1':'6','1.2':'20'}
4154     * @arkts 1.1&1.2
4155     */
4156    CALL_STATE_IDLE = 0,
4157
4158    /**
4159     * Indicates that an incoming call is ringing or waiting.
4160     *
4161     * @syscap SystemCapability.Telephony.CallManager
4162     * @since arkts {'1.1':'6','1.2':'20'}
4163     * @arkts 1.1&1.2
4164     */
4165    CALL_STATE_RINGING = 1,
4166
4167    /**
4168     * Indicates that a least one call is in the dialing, active, or hold state, and there is no new
4169     * incoming call ringing or waiting.
4170     *
4171     * @syscap SystemCapability.Telephony.CallManager
4172     * @since arkts {'1.1':'6','1.2':'20'}
4173     * @arkts 1.1&1.2
4174     */
4175    CALL_STATE_OFFHOOK = 2,
4176
4177    /**
4178     * Indicates that call is answered
4179     *
4180     * @syscap SystemCapability.Telephony.CallManager
4181     * @since arkts {'1.1':'11','1.2':'20'}
4182     * @arkts 1.1&1.2
4183     */
4184    CALL_STATE_ANSWERED = 3
4185  }
4186
4187  /**
4188   * Indicates the options of placing a call.
4189   *
4190   * @interface DialOptions
4191   * @syscap SystemCapability.Telephony.CallManager
4192   * @since 6
4193   */
4194  export interface DialOptions {
4195    /**
4196     * Indicates whether the call to be made is a video call. The value {@code false} indicates
4197     * a voice call.
4198     *
4199     * @type { ?boolean }
4200     * @syscap SystemCapability.Telephony.CallManager
4201     * @since 6
4202     */
4203    extras?: boolean;
4204
4205    /**
4206     * Indicates the card slot index number, ranging from 0 to the maximum card slot index number
4207     * supported by the device.
4208     *
4209     * @type { ?number }
4210     * @syscap SystemCapability.Telephony.CallManager
4211     * @systemapi Hide this for inner system use.
4212     * @since 8
4213     */
4214    accountId?: number;
4215
4216    /**
4217     * Indicates the type of Video state.
4218     *
4219     * @type { ?VideoStateType }
4220     * @syscap SystemCapability.Telephony.CallManager
4221     * @systemapi Hide this for inner system use.
4222     * @since 8
4223     */
4224    videoState?: VideoStateType;
4225
4226    /**
4227     * Indicates the scenario of the call to be made.
4228     *
4229     * @type { ?DialScene }
4230     * @syscap SystemCapability.Telephony.CallManager
4231     * @systemapi Hide this for inner system use.
4232     * @since 8
4233     */
4234    dialScene?: DialScene;
4235
4236    /**
4237     * Indicates the type of the call to be made.
4238     *
4239     * @type { ?DialType }
4240     * @syscap SystemCapability.Telephony.CallManager
4241     * @systemapi Hide this for inner system use.
4242     * @since 8
4243     */
4244    dialType?: DialType;
4245  }
4246
4247  /**
4248   * Indicates the options for initiating a call.
4249   *
4250   * @interface DialCallOptions
4251   * @syscap SystemCapability.Telephony.CallManager
4252   * @systemapi Hide this for inner system use.
4253   * @since 9
4254   */
4255  export interface DialCallOptions {
4256    /**
4257     * Indicates the card slot index number, ranging from 0 to the maximum card slot index number
4258     * supported by the device.
4259     *
4260     * @type { ?number }
4261     * @syscap SystemCapability.Telephony.CallManager
4262     * @systemapi Hide this for inner system use.
4263     * @since 9
4264     */
4265    accountId?: number;
4266    /**
4267     * Indicates the type of Video state.
4268     *
4269     * @type { ?VideoStateType }
4270     * @syscap SystemCapability.Telephony.CallManager
4271     * @systemapi Hide this for inner system use.
4272     * @since 9
4273     */
4274    videoState?: VideoStateType;
4275    /**
4276     * Indicates the scenario of the call.
4277     *
4278     * @type { ?DialScene }
4279     * @syscap SystemCapability.Telephony.CallManager
4280     * @systemapi Hide this for inner system use.
4281     * @since 9
4282     */
4283    dialScene?: DialScene;
4284    /**
4285     * Indicates the type of the call.
4286     *
4287     * @type { ?DialType }
4288     * @syscap SystemCapability.Telephony.CallManager
4289     * @systemapi Hide this for inner system use.
4290     * @since 9
4291     */
4292    dialType?: DialType;
4293    /**
4294     * Indicates the extra call parameters.
4295     *
4296     * @type { ?Record<string, Object> }
4297     * @syscap SystemCapability.Telephony.CallManager
4298     * @systemapi Hide this for inner system use.
4299     * @since 14
4300     */
4301    extraParams?: Record<string, Object>;
4302  }
4303
4304  /**
4305   * Indicates the scenarios of the call to be made.
4306   *
4307   * @enum { number }
4308   * @syscap SystemCapability.Telephony.CallManager
4309   * @systemapi Hide this for inner system use.
4310   * @since 8
4311   */
4312  export enum DialScene {
4313    /**
4314     * Indicates this is a common call.
4315     *
4316     * @syscap SystemCapability.Telephony.CallManager
4317     * @systemapi Hide this for inner system use.
4318     * @since 8
4319     */
4320    CALL_NORMAL = 0,
4321
4322    /**
4323     * Indicates this is a privileged call.
4324     *
4325     * @syscap SystemCapability.Telephony.CallManager
4326     * @systemapi Hide this for inner system use.
4327     * @since 8
4328     */
4329    CALL_PRIVILEGED = 1,
4330
4331    /**
4332     * Indicates this is an emergency call.
4333     *
4334     * @syscap SystemCapability.Telephony.CallManager
4335     * @systemapi Hide this for inner system use.
4336     * @since 8
4337     */
4338    CALL_EMERGENCY = 2,
4339  }
4340
4341  /**
4342   * Indicates the types of the call to be made.
4343   *
4344   * @enum { number }
4345   * @syscap SystemCapability.Telephony.CallManager
4346   * @systemapi Hide this for inner system use.
4347   * @since 8
4348   */
4349  export enum DialType {
4350    /**
4351     * Indicates this is a carrier call.
4352     *
4353     * @syscap SystemCapability.Telephony.CallManager
4354     * @systemapi Hide this for inner system use.
4355     * @since 8
4356     */
4357    DIAL_CARRIER_TYPE = 0,
4358
4359    /**
4360     * Indicates this is a call to play voice mail.
4361     *
4362     * @syscap SystemCapability.Telephony.CallManager
4363     * @systemapi Hide this for inner system use.
4364     * @since 8
4365     */
4366    DIAL_VOICE_MAIL_TYPE = 1,
4367
4368    /**
4369     * Indicates this is an OTT call.
4370     *
4371     * @syscap SystemCapability.Telephony.CallManager
4372     * @systemapi Hide this for inner system use.
4373     * @since 8
4374     */
4375    DIAL_OTT_TYPE = 2,
4376  }
4377
4378  /**
4379   * Indicates the options for call rejection message.
4380   *
4381   * @interface RejectMessageOptions
4382   * @syscap SystemCapability.Telephony.CallManager
4383   * @systemapi Hide this for inner system use.
4384   * @since 7
4385   */
4386  export interface RejectMessageOptions {
4387    /**
4388     * Indicates the content of call rejection message.
4389     *
4390     * @type { string }
4391     * @syscap SystemCapability.Telephony.CallManager
4392     * @systemapi Hide this for inner system use.
4393     * @since 7
4394     */
4395    messageContent: string;
4396  }
4397
4398  /**
4399   * Indicates the result of call transfer.
4400   *
4401   * @interface CallTransferResult
4402   * @syscap SystemCapability.Telephony.CallManager
4403   * @systemapi Hide this for inner system use.
4404   * @since 8
4405   */
4406  export interface CallTransferResult {
4407    /**
4408     * Indicates the status of call forwarding.
4409     *
4410     * @type { TransferStatus }
4411     * @syscap SystemCapability.Telephony.CallManager
4412     * @systemapi Hide this for inner system use.
4413     * @since 8
4414     */
4415    status: TransferStatus;
4416
4417    /**
4418     * Indicates the phone number of call forwarding.
4419     *
4420     * @type { string }
4421     * @syscap SystemCapability.Telephony.CallManager
4422     * @systemapi Hide this for inner system use.
4423     * @since 8
4424     */
4425    number: string;
4426
4427    /**
4428     * Indicates the start time hours of call forwarding.
4429     *
4430     * @type { number }
4431     * @syscap SystemCapability.Telephony.CallManager
4432     * @systemapi Hide this for inner system use.
4433     * @since 9
4434     */
4435    startHour: number;
4436
4437    /**
4438     * Indicates the start time minutes of call forwarding.
4439     *
4440     * @type { number }
4441     * @syscap SystemCapability.Telephony.CallManager
4442     * @systemapi Hide this for inner system use.
4443     * @since 9
4444     */
4445    startMinute: number;
4446
4447    /**
4448     * Indicates the end time hours of call forwarding.
4449     *
4450     * @type { number }
4451     * @syscap SystemCapability.Telephony.CallManager
4452     * @systemapi Hide this for inner system use.
4453     * @since 9
4454     */
4455    endHour: number;
4456
4457    /**
4458     * Indicates the end time minutes of call forwarding.
4459     *
4460     * @type { number }
4461     * @syscap SystemCapability.Telephony.CallManager
4462     * @systemapi Hide this for inner system use.
4463     * @since 9
4464     */
4465    endMinute: number;
4466  }
4467
4468  /**
4469   * Indicates the status of call waiting.
4470   *
4471   * @enum { number }
4472   * @syscap SystemCapability.Telephony.CallManager
4473   * @systemapi Hide this for inner system use.
4474   * @since 7
4475   */
4476  export enum CallWaitingStatus {
4477    /**
4478     * Indicates that call waiting is not enabled.
4479     *
4480     * @syscap SystemCapability.Telephony.CallManager
4481     * @systemapi Hide this for inner system use.
4482     * @since 7
4483     */
4484    CALL_WAITING_DISABLE = 0,
4485
4486    /**
4487     * Indicates that call waiting is enabled.
4488     *
4489     * @syscap SystemCapability.Telephony.CallManager
4490     * @systemapi Hide this for inner system use.
4491     * @since 7
4492     */
4493    CALL_WAITING_ENABLE = 1
4494  }
4495
4496  /**
4497   * Indicates the status of call restriction.
4498   *
4499   * @enum { number }
4500   * @syscap SystemCapability.Telephony.CallManager
4501   * @systemapi Hide this for inner system use.
4502   * @since 8
4503   */
4504  export enum RestrictionStatus {
4505    /**
4506     * Indicates that call barring is not enabled.
4507     *
4508     * @syscap SystemCapability.Telephony.CallManager
4509     * @systemapi Hide this for inner system use.
4510     * @since 8
4511     */
4512    RESTRICTION_DISABLE = 0,
4513
4514    /**
4515     * Indicates that call barring is enabled.
4516     *
4517     * @syscap SystemCapability.Telephony.CallManager
4518     * @systemapi Hide this for inner system use.
4519     * @since 8
4520     */
4521    RESTRICTION_ENABLE = 1
4522  }
4523
4524  /**
4525   * Indicates the status of call transfer.
4526   *
4527   * @enum { number }
4528   * @syscap SystemCapability.Telephony.CallManager
4529   * @systemapi Hide this for inner system use.
4530   * @since 8
4531   */
4532  export enum TransferStatus {
4533    /**
4534     * Indicates that call forwarding is not enabled.
4535     *
4536     * @syscap SystemCapability.Telephony.CallManager
4537     * @systemapi Hide this for inner system use.
4538     * @since 8
4539     */
4540    TRANSFER_DISABLE = 0,
4541
4542    /**
4543     * Indicates that call forwarding is enabled.
4544     *
4545     * @syscap SystemCapability.Telephony.CallManager
4546     * @systemapi Hide this for inner system use.
4547     * @since 8
4548     */
4549    TRANSFER_ENABLE = 1
4550  }
4551
4552  /**
4553   * Indicates the option for determining if a number is an emergency number for specified slot.
4554   *
4555   * @interface EmergencyNumberOptions
4556   * @syscap SystemCapability.Telephony.CallManager
4557   * @since 7
4558   */
4559  export interface EmergencyNumberOptions {
4560    /**
4561     * Indicates the card slot index number, ranging from 0 to the
4562     * maximum card slot index number supported by the device.
4563     *
4564     * @type { ?number }
4565     * @syscap SystemCapability.Telephony.CallManager
4566     * @since 7
4567     */
4568    slotId?: number;
4569  }
4570
4571  /**
4572   * Indicates the option for number formatting.
4573   *
4574   * @interface NumberFormatOptions
4575   * @syscap SystemCapability.Telephony.CallManager
4576   * @since arkts {'1.1':'7','1.2':'20'}
4577   * @arkts 1.1&1.2
4578   */
4579  export interface NumberFormatOptions {
4580    /**
4581     * Indicates the country code.
4582     *
4583     * @type { ?string }
4584     * @syscap SystemCapability.Telephony.CallManager
4585     * @since arkts {'1.1':'7','1.2':'20'}
4586     * @arkts 1.1&1.2
4587     */
4588    countryCode?: string;
4589  }
4590
4591  /**
4592   * Indicates the MMI code result.
4593   *
4594   * @interface MmiCodeResults
4595   * @syscap SystemCapability.Telephony.CallManager
4596   * @systemapi Hide this for inner system use.
4597   * @since arkts {'1.1':'9','1.2':'20'}
4598   * @arkts 1.1&1.2
4599   */
4600  export interface MmiCodeResults {
4601    /**
4602     * Indicates the result of MMI code.
4603     *
4604     * @type { MmiCodeResult }
4605     * @syscap SystemCapability.Telephony.CallManager
4606     * @systemapi Hide this for inner system use.
4607     * @since arkts {'1.1':'9','1.2':'20'}
4608     * @arkts 1.1&1.2
4609     */
4610    result: MmiCodeResult;
4611
4612    /**
4613     * Indicates the message of MMI code.
4614     *
4615     * @type { string }
4616     * @syscap SystemCapability.Telephony.CallManager
4617     * @systemapi Hide this for inner system use.
4618     * @since arkts {'1.1':'9','1.2':'20'}
4619     * @arkts 1.1&1.2
4620     */
4621    message: string;
4622  }
4623
4624  /**
4625   * Indicates the MMI code result.
4626   *
4627   * @enum { number }
4628   * @syscap SystemCapability.Telephony.CallManager
4629   * @systemapi Hide this for inner system use.
4630   * @since arkts {'1.1':'9','1.2':'20'}
4631   * @arkts 1.1&1.2
4632   */
4633  export enum MmiCodeResult {
4634    /**
4635     * Indicates the result of MMI code with successfully.
4636     *
4637     * @syscap SystemCapability.Telephony.CallManager
4638     * @systemapi Hide this for inner system use.
4639     * @since arkts {'1.1':'9','1.2':'20'}
4640     * @arkts 1.1&1.2
4641     */
4642    MMI_CODE_SUCCESS = 0,
4643
4644    /**
4645     * Indicates the result of MMI code with failed.
4646     *
4647     * @syscap SystemCapability.Telephony.CallManager
4648     * @systemapi Hide this for inner system use.
4649     * @since arkts {'1.1':'9','1.2':'20'}
4650     * @arkts 1.1&1.2
4651     */
4652    MMI_CODE_FAILED = 1
4653  }
4654
4655  /**
4656   * Indicates the causes of call disconnection.
4657   *
4658   * @enum { number }
4659   * @syscap SystemCapability.Telephony.CallManager
4660   * @systemapi Hide this for inner system use.
4661   * @since arkts {'1.1':'8','1.2':'20'}
4662   * @arkts 1.1&1.2
4663   */
4664  export enum DisconnectedReason {
4665    /**
4666     * Indicates the call disconnect due to unassigned number.
4667     *
4668     * @syscap SystemCapability.Telephony.CallManager
4669     * @systemapi Hide this for inner system use.
4670     * @since arkts {'1.1':'8','1.2':'20'}
4671     * @arkts 1.1&1.2
4672     */
4673    UNASSIGNED_NUMBER = 1,
4674
4675    /**
4676     * Indicates the call disconnect due to no route to destination.
4677     *
4678     * @syscap SystemCapability.Telephony.CallManager
4679     * @systemapi Hide this for inner system use.
4680     * @since arkts {'1.1':'8','1.2':'20'}
4681     * @arkts 1.1&1.2
4682     */
4683    NO_ROUTE_TO_DESTINATION = 3,
4684
4685    /**
4686     * Indicates the call disconnect due to channel unacceptable.
4687     *
4688     * @syscap SystemCapability.Telephony.CallManager
4689     * @systemapi Hide this for inner system use.
4690     * @since arkts {'1.1':'8','1.2':'20'}
4691     * @arkts 1.1&1.2
4692     */
4693    CHANNEL_UNACCEPTABLE = 6,
4694
4695    /**
4696     * Indicates the call disconnect due to operator determined barring.
4697     *
4698     * @syscap SystemCapability.Telephony.CallManager
4699     * @systemapi Hide this for inner system use.
4700     * @since arkts {'1.1':'8','1.2':'20'}
4701     * @arkts 1.1&1.2
4702     */
4703    OPERATOR_DETERMINED_BARRING = 8,
4704
4705    /**
4706     * Indicates the call disconnect due to call completed elsewhere.
4707     *
4708     * @syscap SystemCapability.Telephony.CallManager
4709     * @systemapi Hide this for inner system use.
4710     * @since arkts {'1.1':'9','1.2':'20'}
4711     * @arkts 1.1&1.2
4712     */
4713    CALL_COMPLETED_ELSEWHERE = 13,
4714
4715    /**
4716     * Indicates the call disconnect due to normal call clearing.
4717     *
4718     * @syscap SystemCapability.Telephony.CallManager
4719     * @systemapi Hide this for inner system use.
4720     * @since arkts {'1.1':'8','1.2':'20'}
4721     * @arkts 1.1&1.2
4722     */
4723    NORMAL_CALL_CLEARING = 16,
4724
4725    /**
4726     * Indicates the call disconnect due to user busy.
4727     *
4728     * @syscap SystemCapability.Telephony.CallManager
4729     * @systemapi Hide this for inner system use.
4730     * @since arkts {'1.1':'8','1.2':'20'}
4731     * @arkts 1.1&1.2
4732     */
4733    USER_BUSY = 17,
4734
4735    /**
4736     * Indicates the call disconnect due to no user responding.
4737     *
4738     * @syscap SystemCapability.Telephony.CallManager
4739     * @systemapi Hide this for inner system use.
4740     * @since arkts {'1.1':'8','1.2':'20'}
4741     * @arkts 1.1&1.2
4742     */
4743    NO_USER_RESPONDING = 18,
4744
4745    /**
4746     * Indicates the call disconnect due to user alerting, no answer.
4747     *
4748     * @syscap SystemCapability.Telephony.CallManager
4749     * @systemapi Hide this for inner system use.
4750     * @since arkts {'1.1':'8','1.2':'20'}
4751     * @arkts 1.1&1.2
4752     */
4753    USER_ALERTING_NO_ANSWER = 19,
4754
4755    /**
4756     * Indicates the call disconnect due to call rejected.
4757     *
4758     * @syscap SystemCapability.Telephony.CallManager
4759     * @systemapi Hide this for inner system use.
4760     * @since arkts {'1.1':'8','1.2':'20'}
4761     * @arkts 1.1&1.2
4762     */
4763    CALL_REJECTED = 21,
4764
4765    /**
4766     * Indicates the call disconnect due to number changed.
4767     *
4768     * @syscap SystemCapability.Telephony.CallManager
4769     * @systemapi Hide this for inner system use.
4770     * @since arkts {'1.1':'8','1.2':'20'}
4771     * @arkts 1.1&1.2
4772     */
4773    NUMBER_CHANGED = 22,
4774
4775    /**
4776     * Indicates the call rejected due to feature at the destination.
4777     *
4778     * @syscap SystemCapability.Telephony.CallManager
4779     * @systemapi Hide this for inner system use.
4780     * @since arkts {'1.1':'9','1.2':'20'}
4781     * @arkts 1.1&1.2
4782     */
4783    CALL_REJECTED_DUE_TO_FEATURE_AT_THE_DESTINATION = 24,
4784
4785    /**
4786     * Indicates the call disconnect due to pre-emption.
4787     *
4788     * @syscap SystemCapability.Telephony.CallManager
4789     * @systemapi Hide this for inner system use.
4790     * @since arkts {'1.1':'9','1.2':'20'}
4791     * @arkts 1.1&1.2
4792     */
4793    FAILED_PRE_EMPTION = 25,
4794
4795    /**
4796     * Indicates the call disconnect due to non selected user clearing.
4797     *
4798     * @syscap SystemCapability.Telephony.CallManager
4799     * @systemapi Hide this for inner system use.
4800     * @since arkts {'1.1':'9','1.2':'20'}
4801     * @arkts 1.1&1.2
4802     */
4803    NON_SELECTED_USER_CLEARING = 26,
4804
4805    /**
4806     * Indicates the call disconnect due to destination out of order.
4807     *
4808     * @syscap SystemCapability.Telephony.CallManager
4809     * @systemapi Hide this for inner system use.
4810     * @since arkts {'1.1':'8','1.2':'20'}
4811     * @arkts 1.1&1.2
4812     */
4813    DESTINATION_OUT_OF_ORDER = 27,
4814
4815    /**
4816     * Indicates the call disconnect due to invalid number format.
4817     *
4818     * @syscap SystemCapability.Telephony.CallManager
4819     * @systemapi Hide this for inner system use.
4820     * @since arkts {'1.1':'8','1.2':'20'}
4821     * @arkts 1.1&1.2
4822     */
4823    INVALID_NUMBER_FORMAT = 28,
4824
4825    /**
4826     * Indicates the call disconnect due to facility rejected.
4827     *
4828     * @syscap SystemCapability.Telephony.CallManager
4829     * @systemapi Hide this for inner system use.
4830     * @since arkts {'1.1':'9','1.2':'20'}
4831     * @arkts 1.1&1.2
4832     */
4833    FACILITY_REJECTED = 29,
4834
4835    /**
4836     * Indicates the call disconnect due to response to status enquiry.
4837     *
4838     * @syscap SystemCapability.Telephony.CallManager
4839     * @systemapi Hide this for inner system use.
4840     * @since arkts {'1.1':'9','1.2':'20'}
4841     * @arkts 1.1&1.2
4842     */
4843    RESPONSE_TO_STATUS_ENQUIRY = 30,
4844
4845    /**
4846     * Indicates the call disconnected normally, no specified cause.
4847     *
4848     * @syscap SystemCapability.Telephony.CallManager
4849     * @systemapi Hide this for inner system use.
4850     * @since arkts {'1.1':'9','1.2':'20'}
4851     * @arkts 1.1&1.2
4852     */
4853    NORMAL_UNSPECIFIED = 31,
4854
4855    /**
4856     * Indicates the call disconnect due to no circuit/channel available.
4857     *
4858     * @syscap SystemCapability.Telephony.CallManager
4859     * @systemapi Hide this for inner system use.
4860     * @since arkts {'1.1':'9','1.2':'20'}
4861     * @arkts 1.1&1.2
4862     */
4863    NO_CIRCUIT_CHANNEL_AVAILABLE = 34,
4864
4865    /**
4866     * Indicates the call disconnect due to network out of order.
4867     *
4868     * @syscap SystemCapability.Telephony.CallManager
4869     * @systemapi Hide this for inner system use.
4870     * @since arkts {'1.1':'8','1.2':'20'}
4871     * @arkts 1.1&1.2
4872     */
4873    NETWORK_OUT_OF_ORDER = 38,
4874
4875    /**
4876     * Indicates the call disconnect due to temporary failure.
4877     *
4878     * @syscap SystemCapability.Telephony.CallManager
4879     * @systemapi Hide this for inner system use.
4880     * @since arkts {'1.1':'8','1.2':'20'}
4881     * @arkts 1.1&1.2
4882     */
4883    TEMPORARY_FAILURE = 41,
4884
4885    /**
4886     * Indicates the call disconnect due to switching equipment congestion.
4887     *
4888     * @syscap SystemCapability.Telephony.CallManager
4889     * @systemapi Hide this for inner system use.
4890     * @since arkts {'1.1':'9','1.2':'20'}
4891     * @arkts 1.1&1.2
4892     */
4893    SWITCHING_EQUIPMENT_CONGESTION = 42,
4894
4895    /**
4896     * Indicates the call disconnect due to access information discarded.
4897     *
4898     * @syscap SystemCapability.Telephony.CallManager
4899     * @systemapi Hide this for inner system use.
4900     * @since arkts {'1.1':'9','1.2':'20'}
4901     * @arkts 1.1&1.2
4902     */
4903    ACCESS_INFORMATION_DISCARDED = 43,
4904
4905    /**
4906     * Indicates the call disconnect due to requested circuit/channel not available.
4907     *
4908     * @syscap SystemCapability.Telephony.CallManager
4909     * @systemapi Hide this for inner system use.
4910     * @since arkts {'1.1':'9','1.2':'20'}
4911     * @arkts 1.1&1.2
4912     */
4913    REQUEST_CIRCUIT_CHANNEL_NOT_AVAILABLE = 44,
4914
4915    /**
4916     * Indicates the call disconnect due to resources unavailable unspecified.
4917     *
4918     * @syscap SystemCapability.Telephony.CallManager
4919     * @systemapi Hide this for inner system use.
4920     * @since arkts {'1.1':'9','1.2':'20'}
4921     * @arkts 1.1&1.2
4922     */
4923    RESOURCES_UNAVAILABLE_UNSPECIFIED = 47,
4924
4925    /**
4926     * Indicates the call disconnect due to quality of service unavailable.
4927     *
4928     * @syscap SystemCapability.Telephony.CallManager
4929     * @systemapi Hide this for inner system use.
4930     * @since arkts {'1.1':'9','1.2':'20'}
4931     * @arkts 1.1&1.2
4932     */
4933    QUALITY_OF_SERVICE_UNAVAILABLE = 49,
4934
4935    /**
4936     * Indicates the call disconnect due to requested facility not subscribed.
4937     *
4938     * @syscap SystemCapability.Telephony.CallManager
4939     * @systemapi Hide this for inner system use.
4940     * @since arkts {'1.1':'9','1.2':'20'}
4941     * @arkts 1.1&1.2
4942     */
4943    REQUESTED_FACILITY_NOT_SUBSCRIBED = 50,
4944
4945    /**
4946     * Indicates the call disconnect due to incoming calls barred within the CUG.
4947     *
4948     * @syscap SystemCapability.Telephony.CallManager
4949     * @systemapi Hide this for inner system use.
4950     * @since arkts {'1.1':'9','1.2':'20'}
4951     * @arkts 1.1&1.2
4952     */
4953    INCOMING_CALLS_BARRED_WITHIN_THE_CUG = 55,
4954
4955    /**
4956     * Indicates the call disconnect due to bearer capability not authorized.
4957     *
4958     * @syscap SystemCapability.Telephony.CallManager
4959     * @systemapi Hide this for inner system use.
4960     * @since arkts {'1.1':'9','1.2':'20'}
4961     * @arkts 1.1&1.2
4962     */
4963    BEARER_CAPABILITY_NOT_AUTHORIZED = 57,
4964
4965    /**
4966     * Indicates the call disconnect due to bearer capability not presently available.
4967     *
4968     * @syscap SystemCapability.Telephony.CallManager
4969     * @systemapi Hide this for inner system use.
4970     * @since arkts {'1.1':'9','1.2':'20'}
4971     * @arkts 1.1&1.2
4972     */
4973    BEARER_CAPABILITY_NOT_PRESENTLY_AVAILABLE = 58,
4974
4975    /**
4976     * Indicates the call disconnect due to service or option not available, unspecified.
4977     *
4978     * @syscap SystemCapability.Telephony.CallManager
4979     * @systemapi Hide this for inner system use.
4980     * @since arkts {'1.1':'9','1.2':'20'}
4981     * @arkts 1.1&1.2
4982     */
4983    SERVICE_OR_OPTION_NOT_AVAILABLE_UNSPECIFIED = 63,
4984
4985    /**
4986     * Indicates the call disconnect due to bearer service not implemented.
4987     *
4988     * @syscap SystemCapability.Telephony.CallManager
4989     * @systemapi Hide this for inner system use.
4990     * @since arkts {'1.1':'9','1.2':'20'}
4991     * @arkts 1.1&1.2
4992     */
4993    BEARER_SERVICE_NOT_IMPLEMENTED = 65,
4994
4995    /**
4996     * Indicates the call disconnect due to ACM equal to or greater than the maximum value.
4997     *
4998     * @syscap SystemCapability.Telephony.CallManager
4999     * @systemapi Hide this for inner system use.
5000     * @since arkts {'1.1':'9','1.2':'20'}
5001     * @arkts 1.1&1.2
5002     */
5003    ACM_EQUALTO_OR_GREATER_THAN_THE_MAXIMUM_VALUE = 68,
5004
5005    /**
5006     * Indicates the call disconnect due to requested facility not implemented.
5007     *
5008     * @syscap SystemCapability.Telephony.CallManager
5009     * @systemapi Hide this for inner system use.
5010     * @since arkts {'1.1':'9','1.2':'20'}
5011     * @arkts 1.1&1.2
5012     */
5013    REQUESTED_FACILITY_NOT_IMPLEMENTED = 69,
5014
5015    /**
5016     * Indicates the call disconnect due to only restricted digital info BC available.
5017     *
5018     * @syscap SystemCapability.Telephony.CallManager
5019     * @systemapi Hide this for inner system use.
5020     * @since arkts {'1.1':'9','1.2':'20'}
5021     * @arkts 1.1&1.2
5022     */
5023    ONLY_RESTRICTED_DIGITAL_INFO_BEARER_CAPABILITY_IS_AVAILABLE = 70,
5024
5025    /**
5026     * Indicates the call disconnect due to service or option not implemented, unspecified.
5027     *
5028     * @syscap SystemCapability.Telephony.CallManager
5029     * @systemapi Hide this for inner system use.
5030     * @since arkts {'1.1':'9','1.2':'20'}
5031     * @arkts 1.1&1.2
5032     */
5033    SERVICE_OR_OPTION_NOT_IMPLEMENTED_UNSPECIFIED = 79,
5034
5035    /**
5036     * Indicates the call disconnect due to invalid transaction identifier value.
5037     *
5038     * @syscap SystemCapability.Telephony.CallManager
5039     * @systemapi Hide this for inner system use.
5040     * @since arkts {'1.1':'9','1.2':'20'}
5041     * @arkts 1.1&1.2
5042     */
5043    INVALID_TRANSACTION_IDENTIFIER_VALUE = 81,
5044
5045    /**
5046     * Indicates the call disconnect due to user not member of CUG.
5047     *
5048     * @syscap SystemCapability.Telephony.CallManager
5049     * @systemapi Hide this for inner system use.
5050     * @since arkts {'1.1':'9','1.2':'20'}
5051     * @arkts 1.1&1.2
5052     */
5053    USER_NOT_MEMBER_OF_CUG = 87,
5054
5055    /**
5056     * Indicates the call disconnect due to incompatible destination.
5057     *
5058     * @syscap SystemCapability.Telephony.CallManager
5059     * @systemapi Hide this for inner system use.
5060     * @since arkts {'1.1':'9','1.2':'20'}
5061     * @arkts 1.1&1.2
5062     */
5063    INCOMPATIBLE_DESTINATION = 88,
5064
5065    /**
5066     * Indicates the call disconnect due to invalid transit network selection.
5067     *
5068     * @syscap SystemCapability.Telephony.CallManager
5069     * @systemapi Hide this for inner system use.
5070     * @since arkts {'1.1':'9','1.2':'20'}
5071     * @arkts 1.1&1.2
5072     */
5073    INVALID_TRANSIT_NETWORK_SELECTION = 91,
5074
5075    /**
5076     * Indicates the call disconnect due to semantically incorrect message.
5077     *
5078     * @syscap SystemCapability.Telephony.CallManager
5079     * @systemapi Hide this for inner system use.
5080     * @since arkts {'1.1':'9','1.2':'20'}
5081     * @arkts 1.1&1.2
5082     */
5083    SEMANTICALLY_INCORRECT_MESSAGE = 95,
5084
5085    /**
5086     * Indicates the call disconnect due to invalid mandatory information.
5087     *
5088     * @syscap SystemCapability.Telephony.CallManager
5089     * @systemapi Hide this for inner system use.
5090     * @since arkts {'1.1':'9','1.2':'20'}
5091     * @arkts 1.1&1.2
5092     */
5093    INVALID_MANDATORY_INFORMATION = 96,
5094
5095    /**
5096     * Indicates the call disconnect due to msg type non-existent or not implemented.
5097     *
5098     * @syscap SystemCapability.Telephony.CallManager
5099     * @systemapi Hide this for inner system use.
5100     * @since arkts {'1.1':'9','1.2':'20'}
5101     * @arkts 1.1&1.2
5102     */
5103    MESSAGE_TYPE_NON_EXISTENT_OR_NOT_IMPLEMENTED = 97,
5104
5105    /**
5106     * Indicates the call disconnect due to msg type not compatible with protocol state.
5107     *
5108     * @syscap SystemCapability.Telephony.CallManager
5109     * @systemapi Hide this for inner system use.
5110     * @since arkts {'1.1':'9','1.2':'20'}
5111     * @arkts 1.1&1.2
5112     */
5113    MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 98,
5114
5115    /**
5116     * Indicates the call disconnect due to IE non-existent or not implemented.
5117     *
5118     * @syscap SystemCapability.Telephony.CallManager
5119     * @systemapi Hide this for inner system use.
5120     * @since arkts {'1.1':'9','1.2':'20'}
5121     * @arkts 1.1&1.2
5122     */
5123    INFORMATION_ELEMENT_NON_EXISTENT_OR_NOT_IMPLEMENTED = 99,
5124
5125    /**
5126     * Indicates the call disconnect due to conditional IE error.
5127     *
5128     * @syscap SystemCapability.Telephony.CallManager
5129     * @systemapi Hide this for inner system use.
5130     * @since arkts {'1.1':'9','1.2':'20'}
5131     * @arkts 1.1&1.2
5132     */
5133    CONDITIONAL_IE_ERROR = 100,
5134
5135    /**
5136     * Indicates the call disconnect due to message not compatible with protocol state.
5137     *
5138     * @syscap SystemCapability.Telephony.CallManager
5139     * @systemapi Hide this for inner system use.
5140     * @since arkts {'1.1':'9','1.2':'20'}
5141     * @arkts 1.1&1.2
5142     */
5143    MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 101,
5144
5145    /**
5146     * Indicates the call disconnect due to recovery on timer expiry timer number.
5147     *
5148     * @syscap SystemCapability.Telephony.CallManager
5149     * @systemapi Hide this for inner system use.
5150     * @since arkts {'1.1':'9','1.2':'20'}
5151     * @arkts 1.1&1.2
5152     */
5153    RECOVERY_ON_TIMER_EXPIRED = 102,
5154
5155    /**
5156     * Indicates the call disconnect due to protocol error, unspecified.
5157     *
5158     * @syscap SystemCapability.Telephony.CallManager
5159     * @systemapi Hide this for inner system use.
5160     * @since arkts {'1.1':'9','1.2':'20'}
5161     * @arkts 1.1&1.2
5162     */
5163    PROTOCOL_ERROR_UNSPECIFIED = 111,
5164
5165    /**
5166     * Indicates the call disconnect due to interworking, unspecified.
5167     *
5168     * @syscap SystemCapability.Telephony.CallManager
5169     * @systemapi Hide this for inner system use.
5170     * @since arkts {'1.1':'9','1.2':'20'}
5171     * @arkts 1.1&1.2
5172     */
5173    INTERWORKING_UNSPECIFIED = 127,
5174
5175    /**
5176     * Indicates the call disconnect due to call barred.
5177     *
5178     * @syscap SystemCapability.Telephony.CallManager
5179     * @systemapi Hide this for inner system use.
5180     * @since arkts {'1.1':'9','1.2':'20'}
5181     * @arkts 1.1&1.2
5182     */
5183    CALL_BARRED = 240,
5184
5185    /**
5186     * Indicates the call disconnect due to FDN blocked.
5187     *
5188     * @syscap SystemCapability.Telephony.CallManager
5189     * @systemapi Hide this for inner system use.
5190     * @since arkts {'1.1':'9','1.2':'20'}
5191     * @arkts 1.1&1.2
5192     */
5193    FDN_BLOCKED = 241,
5194
5195    /**
5196     * Indicates the call disconnect due to IMSI in VLR is unknown.
5197     *
5198     * @syscap SystemCapability.Telephony.CallManager
5199     * @systemapi Hide this for inner system use.
5200     * @since arkts {'1.1':'9','1.2':'20'}
5201     * @arkts 1.1&1.2
5202     */
5203    IMSI_UNKNOWN_IN_VLR = 242,
5204
5205    /**
5206     * Indicates the call disconnect due to IMEI not accepted.
5207     *
5208     * @syscap SystemCapability.Telephony.CallManager
5209     * @systemapi Hide this for inner system use.
5210     * @since arkts {'1.1':'9','1.2':'20'}
5211     * @arkts 1.1&1.2
5212     */
5213    IMEI_NOT_ACCEPTED = 243,
5214
5215    /**
5216     * Indicates the call disconnect due to dial modified to USSD.
5217     *
5218     * @syscap SystemCapability.Telephony.CallManager
5219     * @systemapi Hide this for inner system use.
5220     * @since arkts {'1.1':'9','1.2':'20'}
5221     * @arkts 1.1&1.2
5222     */
5223    DIAL_MODIFIED_TO_USSD = 244,
5224
5225    /**
5226     * Indicates the call disconnect due to dial modified to SS.
5227     *
5228     * @syscap SystemCapability.Telephony.CallManager
5229     * @systemapi Hide this for inner system use.
5230     * @since arkts {'1.1':'9','1.2':'20'}
5231     * @arkts 1.1&1.2
5232     */
5233    DIAL_MODIFIED_TO_SS = 245,
5234
5235    /**
5236     * Indicates the call disconnect due to dial modified to dial.
5237     *
5238     * @syscap SystemCapability.Telephony.CallManager
5239     * @systemapi Hide this for inner system use.
5240     * @since arkts {'1.1':'9','1.2':'20'}
5241     * @arkts 1.1&1.2
5242     */
5243    DIAL_MODIFIED_TO_DIAL = 246,
5244
5245    /**
5246     * Indicates the call disconnect due to Radio off.
5247     *
5248     * @syscap SystemCapability.Telephony.CallManager
5249     * @systemapi Hide this for inner system use.
5250     * @since arkts {'1.1':'9','1.2':'20'}
5251     * @arkts 1.1&1.2
5252     */
5253    RADIO_OFF = 247,
5254
5255    /**
5256     * Indicates the call disconnect due to out of service.
5257     *
5258     * @syscap SystemCapability.Telephony.CallManager
5259     * @systemapi Hide this for inner system use.
5260     * @since arkts {'1.1':'9','1.2':'20'}
5261     * @arkts 1.1&1.2
5262     */
5263    OUT_OF_SERVICE = 248,
5264
5265    /**
5266     * Indicates the call disconnect due to invalid SIM.
5267     *
5268     * @syscap SystemCapability.Telephony.CallManager
5269     * @systemapi Hide this for inner system use.
5270     * @since arkts {'1.1':'9','1.2':'20'}
5271     * @arkts 1.1&1.2
5272     */
5273    NO_VALID_SIM = 249,
5274
5275    /**
5276     * Indicates the call disconnect due to radio internal error.
5277     *
5278     * @syscap SystemCapability.Telephony.CallManager
5279     * @systemapi Hide this for inner system use.
5280     * @since arkts {'1.1':'9','1.2':'20'}
5281     * @arkts 1.1&1.2
5282     */
5283    RADIO_INTERNAL_ERROR = 250,
5284
5285    /**
5286     * Indicates the call disconnect due to network response timeout.
5287     *
5288     * @syscap SystemCapability.Telephony.CallManager
5289     * @systemapi Hide this for inner system use.
5290     * @since arkts {'1.1':'9','1.2':'20'}
5291     * @arkts 1.1&1.2
5292     */
5293    NETWORK_RESP_TIMEOUT = 251,
5294
5295    /**
5296     * Indicates the call disconnect due to network reject.
5297     *
5298     * @syscap SystemCapability.Telephony.CallManager
5299     * @systemapi Hide this for inner system use.
5300     * @since arkts {'1.1':'9','1.2':'20'}
5301     * @arkts 1.1&1.2
5302     */
5303    NETWORK_REJECT = 252,
5304
5305    /**
5306     * Indicates the call disconnect due to radio access failure.
5307     *
5308     * @syscap SystemCapability.Telephony.CallManager
5309     * @systemapi Hide this for inner system use.
5310     * @since arkts {'1.1':'9','1.2':'20'}
5311     * @arkts 1.1&1.2
5312     */
5313    RADIO_ACCESS_FAILURE = 253,
5314
5315    /**
5316     * Indicates the call disconnect due to radio link failure.
5317     *
5318     * @syscap SystemCapability.Telephony.CallManager
5319     * @systemapi Hide this for inner system use.
5320     * @since arkts {'1.1':'9','1.2':'20'}
5321     * @arkts 1.1&1.2
5322     */
5323    RADIO_LINK_FAILURE = 254,
5324
5325    /**
5326     * Indicates the call disconnect due to radio link lost.
5327     *
5328     * @syscap SystemCapability.Telephony.CallManager
5329     * @systemapi Hide this for inner system use.
5330     * @since arkts {'1.1':'9','1.2':'20'}
5331     * @arkts 1.1&1.2
5332     */
5333    RADIO_LINK_LOST = 255,
5334
5335    /**
5336     * Indicates the call disconnect due to radio uplink failure.
5337     *
5338     * @syscap SystemCapability.Telephony.CallManager
5339     * @systemapi Hide this for inner system use.
5340     * @since arkts {'1.1':'9','1.2':'20'}
5341     * @arkts 1.1&1.2
5342     */
5343    RADIO_UPLINK_FAILURE = 256,
5344
5345    /**
5346     * Indicates the call disconnect due to radio setup failure.
5347     *
5348     * @syscap SystemCapability.Telephony.CallManager
5349     * @systemapi Hide this for inner system use.
5350     * @since arkts {'1.1':'9','1.2':'20'}
5351     * @arkts 1.1&1.2
5352     */
5353    RADIO_SETUP_FAILURE = 257,
5354
5355    /**
5356     * Indicates the call disconnect due to radio release normal.
5357     *
5358     * @syscap SystemCapability.Telephony.CallManager
5359     * @systemapi Hide this for inner system use.
5360     * @since arkts {'1.1':'9','1.2':'20'}
5361     * @arkts 1.1&1.2
5362     */
5363    RADIO_RELEASE_NORMAL = 258,
5364
5365    /**
5366     * Indicates the call disconnect due to radio release abnormal.
5367     *
5368     * @syscap SystemCapability.Telephony.CallManager
5369     * @systemapi Hide this for inner system use.
5370     * @since arkts {'1.1':'9','1.2':'20'}
5371     * @arkts 1.1&1.2
5372     */
5373    RADIO_RELEASE_ABNORMAL = 259,
5374
5375    /**
5376     * Indicates the call disconnect due to access class blocked.
5377     *
5378     * @syscap SystemCapability.Telephony.CallManager
5379     * @systemapi Hide this for inner system use.
5380     * @since arkts {'1.1':'9','1.2':'20'}
5381     * @arkts 1.1&1.2
5382     */
5383    ACCESS_CLASS_BLOCKED = 260,
5384
5385    /**
5386     * Indicates the call disconnect due to network detach.
5387     *
5388     * @syscap SystemCapability.Telephony.CallManager
5389     * @systemapi Hide this for inner system use.
5390     * @since arkts {'1.1':'9','1.2':'20'}
5391     * @arkts 1.1&1.2
5392     */
5393    NETWORK_DETACH = 261,
5394
5395    /**
5396     * Indicates the call disconnect due to invalid parameter.
5397     *
5398     * @syscap SystemCapability.Telephony.CallManager
5399     * @systemapi Hide this for inner system use.
5400     * @since arkts {'1.1':'8','1.2':'20'}
5401     * @arkts 1.1&1.2
5402     */
5403    INVALID_PARAMETER = 1025,
5404
5405    /**
5406     * Indicates the call disconnect due to sim not exit.
5407     *
5408     * @syscap SystemCapability.Telephony.CallManager
5409     * @systemapi Hide this for inner system use.
5410     * @since arkts {'1.1':'8','1.2':'20'}
5411     * @arkts 1.1&1.2
5412     */
5413    SIM_NOT_EXIT = 1026,
5414
5415    /**
5416     * Indicates the call disconnect due to sim pin need.
5417     *
5418     * @syscap SystemCapability.Telephony.CallManager
5419     * @systemapi Hide this for inner system use.
5420     * @since arkts {'1.1':'8','1.2':'20'}
5421     * @arkts 1.1&1.2
5422     */
5423    SIM_PIN_NEED = 1027,
5424
5425    /**
5426     * Indicates the call disconnect due to call not allow.
5427     *
5428     * @syscap SystemCapability.Telephony.CallManager
5429     * @systemapi Hide this for inner system use.
5430     * @since arkts {'1.1':'8','1.2':'20'}
5431     * @arkts 1.1&1.2
5432     */
5433    CALL_NOT_ALLOW = 1029,
5434
5435    /**
5436     * Indicates the call disconnect due to sim invalid.
5437     *
5438     * @syscap SystemCapability.Telephony.CallManager
5439     * @systemapi Hide this for inner system use.
5440     * @since arkts {'1.1':'8','1.2':'20'}
5441     * @arkts 1.1&1.2
5442     */
5443    SIM_INVALID = 1045,
5444
5445    /**
5446     * Indicates the call disconnect due to unknown error.
5447     *
5448     * @syscap SystemCapability.Telephony.CallManager
5449     * @systemapi Hide this for inner system use.
5450     * @since arkts {'1.1':'8','1.2':'20'}
5451     * @arkts 1.1&1.2
5452     */
5453    UNKNOWN = 1279,
5454  }
5455
5456  /**
5457   * Indicates the cause of a call disconnection.
5458   *
5459   * @interface DisconnectedDetails
5460   * @syscap SystemCapability.Telephony.CallManager
5461   * @systemapi Hide this for inner system use.
5462   * @since arkts {'1.1':'9','1.2':'20'}
5463   * @arkts 1.1&1.2
5464   */
5465  export interface DisconnectedDetails {
5466    /**
5467     * Indicates the reason for ending the call.
5468     *
5469     * @type { DisconnectedReason }
5470     * @syscap SystemCapability.Telephony.CallManager
5471     * @systemapi Hide this for inner system use.
5472     * @since arkts {'1.1':'9','1.2':'20'}
5473     * @arkts 1.1&1.2
5474     */
5475    reason: DisconnectedReason;
5476    /**
5477     * Indicates the message for ending the call.
5478     *
5479     * @type { string }
5480     * @syscap SystemCapability.Telephony.CallManager
5481     * @systemapi Hide this for inner system use.
5482     * @since arkts {'1.1':'9','1.2':'20'}
5483     * @arkts 1.1&1.2
5484     */
5485    message: string;
5486  }
5487
5488  /**
5489   * Indicates the ims call mode info of a video call.
5490   *
5491   * @interface ImsCallModeInfo
5492   * @syscap SystemCapability.Telephony.CallManager
5493   * @systemapi Hide this for inner system use.
5494   * @since arkts {'1.1':'11','1.2':'20'}
5495   * @arkts 1.1&1.2
5496   */
5497  export interface ImsCallModeInfo {
5498    /**
5499     * Indicates the id of call.
5500     *
5501     * @type { number }
5502     * @syscap SystemCapability.Telephony.CallManager
5503     * @systemapi Hide this for inner system use.
5504     * @since arkts {'1.1':'11','1.2':'20'}
5505     * @arkts 1.1&1.2
5506     */
5507    callId: number;
5508    /**
5509     * Indicates the request result.
5510     *
5511     * @type { VideoRequestResultType }
5512     * @syscap SystemCapability.Telephony.CallManager
5513     * @systemapi Hide this for inner system use.
5514     * @since 11
5515     */
5516    result: VideoRequestResultType;
5517    /**
5518     * Indicates if this is a request which received from remote,
5519     *
5520     * @type { boolean }
5521     * @syscap SystemCapability.Telephony.CallManager
5522     * @systemapi Hide this for inner system use.
5523     * @since 11
5524     */
5525    isRequestInfo: boolean;
5526    /**
5527     * Indicates the ImsCallMode of call.
5528     *
5529     * @type { ImsCallMode }
5530     * @syscap SystemCapability.Telephony.CallManager
5531     * @systemapi Hide this for inner system use.
5532     * @since 11
5533     */
5534    imsCallMode: ImsCallMode;
5535  }
5536
5537  /**
5538   * Indicates the call session event of a video call.
5539   *
5540   * @interface CallSessionEvent
5541   * @syscap SystemCapability.Telephony.CallManager
5542   * @systemapi Hide this for inner system use.
5543   * @since arkts {'1.1':'11','1.2':'20'}
5544   * @arkts 1.1&1.2
5545   */
5546  export interface CallSessionEvent {
5547    /**
5548     * Indicates the id of call.
5549     *
5550     * @type { number }
5551     * @syscap SystemCapability.Telephony.CallManager
5552     * @systemapi Hide this for inner system use.
5553     * @since arkts {'1.1':'11','1.2':'20'}
5554     * @arkts 1.1&1.2
5555     */
5556    callId: number;
5557    /**
5558     * Indicates the event id of video call.
5559     *
5560     * @type { CallSessionEventId }
5561     * @syscap SystemCapability.Telephony.CallManager
5562     * @systemapi Hide this for inner system use.
5563     * @since 11
5564     */
5565    eventId: CallSessionEventId;
5566  }
5567
5568  /**
5569   * Indicates the peer dimension.
5570   *
5571   * @interface PeerDimensionsDetail
5572   * @syscap SystemCapability.Telephony.CallManager
5573   * @systemapi Hide this for inner system use.
5574   * @since arkts {'1.1':'11','1.2':'20'}
5575   * @arkts 1.1&1.2
5576   */
5577  export interface PeerDimensionsDetail {
5578    /**
5579     * Indicates the id of call.
5580     *
5581     * @type { number }
5582     * @syscap SystemCapability.Telephony.CallManager
5583     * @systemapi Hide this for inner system use.
5584     * @since arkts {'1.1':'11','1.2':'20'}
5585     * @arkts 1.1&1.2
5586     */
5587    callId: number;
5588    /**
5589     * Indicates the peer dimensions width.
5590     *
5591     * @type { number }
5592     * @syscap SystemCapability.Telephony.CallManager
5593     * @systemapi Hide this for inner system use.
5594     * @since 11
5595     */
5596    width: number;
5597    /**
5598     * Indicates the the peer dimensions height.
5599     *
5600     * @type { number }
5601     * @syscap SystemCapability.Telephony.CallManager
5602     * @systemapi Hide this for inner system use.
5603     * @since 11
5604     */
5605    height: number;
5606  }
5607
5608  /**
5609   * Indicates the camera capabilities.
5610   *
5611   * @interface CameraCapabilities
5612   * @syscap SystemCapability.Telephony.CallManager
5613   * @systemapi Hide this for inner system use.
5614   * @since arkts {'1.1':'11','1.2':'20'}
5615   * @arkts 1.1&1.2
5616   */
5617  export interface CameraCapabilities {
5618    /**
5619     * Indicates the id of call.
5620     *
5621     * @type { number }
5622     * @syscap SystemCapability.Telephony.CallManager
5623     * @systemapi Hide this for inner system use.
5624     * @since arkts {'1.1':'11','1.2':'20'}
5625     * @arkts 1.1&1.2
5626     */
5627    callId: number;
5628    /**
5629     * Indicates the camera width.
5630     *
5631     * @type { number }
5632     * @syscap SystemCapability.Telephony.CallManager
5633     * @systemapi Hide this for inner system use.
5634     * @since 11
5635     */
5636    width: number;
5637    /**
5638     * Indicates the the camera height.
5639     *
5640     * @type { number }
5641     * @syscap SystemCapability.Telephony.CallManager
5642     * @systemapi Hide this for inner system use.
5643     * @since 11
5644     */
5645    height: number;
5646  }
5647
5648  /**
5649   * Indicates the mark information of the phone number.
5650   *
5651   * @interface NumberMarkInfo
5652   * @syscap SystemCapability.Telephony.CallManager
5653   * @systemapi Hide this for inner system use.
5654   * @since 12
5655   */
5656  export interface NumberMarkInfo {
5657    /**
5658     * Indicates the type of number mark.
5659     *
5660     * @type { MarkType }
5661     * @syscap SystemCapability.Telephony.CallManager
5662     * @systemapi Hide this for inner system use.
5663     * @since 12
5664     */
5665    markType: MarkType;
5666
5667    /**
5668     * Indicates the content of number mark.
5669     *
5670     * @type { ?string }
5671     * @syscap SystemCapability.Telephony.CallManager
5672     * @systemapi Hide this for inner system use.
5673     * @since 12
5674     */
5675    markContent?: string;
5676
5677    /**
5678     * Indicates the count of number mark.
5679     *
5680     * @type { ?number }
5681     * @syscap SystemCapability.Telephony.CallManager
5682     * @systemapi Hide this for inner system use.
5683     * @since 12
5684     */
5685    markCount?: number;
5686
5687    /**
5688     * Indicates the source of number mark.
5689     *
5690     * @type { ?string }
5691     * @syscap SystemCapability.Telephony.CallManager
5692     * @systemapi Hide this for inner system use.
5693     * @since 12
5694     */
5695    markSource?: string;
5696
5697    /**
5698     * Indicates if this is a number mark from cloud.
5699     *
5700     * @type { ?boolean }
5701     * @syscap SystemCapability.Telephony.CallManager
5702     * @systemapi Hide this for inner system use.
5703     * @since 12
5704     */
5705    isCloud?: boolean;
5706
5707    /**
5708     * Indicates the details of number mark.
5709     *
5710     * @type { ?string }
5711     * @syscap SystemCapability.Telephony.CallManager
5712     * @systemapi Hide this for inner system use.
5713     * @since 14
5714     */
5715    markDetails?: string;
5716  }
5717
5718  /**
5719   * Indicates the type of the number mark.
5720   *
5721   * @enum { number }
5722   * @syscap SystemCapability.Telephony.CallManager
5723   * @systemapi Hide this for inner system use.
5724   * @since 12
5725   */
5726  export enum MarkType {
5727    /**
5728     * Indicates the mark is none.
5729     *
5730     * @syscap SystemCapability.Telephony.CallManager
5731     * @systemapi Hide this for inner system use.
5732     * @since 12
5733     */
5734    MARK_TYPE_NONE = 0,
5735
5736    /**
5737     * Indicates the mark is crank.
5738     *
5739     * @syscap SystemCapability.Telephony.CallManager
5740     * @systemapi Hide this for inner system use.
5741     * @since 12
5742     */
5743    MARK_TYPE_CRANK = 1,
5744
5745    /**
5746     * Indicates the mark is fraud.
5747     *
5748     * @syscap SystemCapability.Telephony.CallManager
5749     * @systemapi Hide this for inner system use.
5750     * @since 12
5751     */
5752    MARK_TYPE_FRAUD = 2,
5753
5754    /**
5755     * Indicates the mark is express.
5756     *
5757     * @syscap SystemCapability.Telephony.CallManager
5758     * @systemapi Hide this for inner system use.
5759     * @since 12
5760     */
5761    MARK_TYPE_EXPRESS = 3,
5762
5763    /**
5764     * Indicates the mark is promote sales.
5765     *
5766     * @syscap SystemCapability.Telephony.CallManager
5767     * @systemapi Hide this for inner system use.
5768     * @since 12
5769     */
5770    MARK_TYPE_PROMOTE_SALES = 4,
5771
5772    /**
5773     * Indicates the mark is house agent.
5774     *
5775     * @syscap SystemCapability.Telephony.CallManager
5776     * @systemapi Hide this for inner system use.
5777     * @since 12
5778     */
5779    MARK_TYPE_HOUSE_AGENT = 5,
5780
5781    /**
5782     * Indicates the mark is insurance.
5783     *
5784     * @syscap SystemCapability.Telephony.CallManager
5785     * @systemapi Hide this for inner system use.
5786     * @since 12
5787     */
5788    MARK_TYPE_INSURANCE = 6,
5789
5790    /**
5791     * Indicates the mark is taxi.
5792     *
5793     * @syscap SystemCapability.Telephony.CallManager
5794     * @systemapi Hide this for inner system use.
5795     * @since 12
5796     */
5797    MARK_TYPE_TAXI = 7,
5798
5799    /**
5800     * Indicates the mark is custom.
5801     *
5802     * @syscap SystemCapability.Telephony.CallManager
5803     * @systemapi Hide this for inner system use.
5804     * @since 12
5805     */
5806    MARK_TYPE_CUSTOM = 8,
5807
5808    /**
5809     * Indicates the mark is others.
5810     *
5811     * @syscap SystemCapability.Telephony.CallManager
5812     * @systemapi Hide this for inner system use.
5813     * @since 12
5814     */
5815    MARK_TYPE_OTHERS = 9,
5816
5817    /**
5818     * Indicates the mark is yellow page.
5819     *
5820     * @syscap SystemCapability.Telephony.CallManager
5821     * @systemapi Hide this for inner system use.
5822     * @since 12
5823     */
5824    MARK_TYPE_YELLOW_PAGE = 10,
5825
5826    /**
5827     * Indicates the mark is enterprise.
5828     *
5829     * @syscap SystemCapability.Telephony.CallManager
5830     * @systemapi Hide this for inner system use.
5831     * @since 14
5832     */
5833    MARK_TYPE_ENTERPRISE = 11
5834  }
5835}
5836
5837export default call;
5838