161847f8eSopenharmony_ci/*
261847f8eSopenharmony_ci * Copyright (C) 2021-2023 Huawei Device Co., Ltd.
361847f8eSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
461847f8eSopenharmony_ci * you may not use this file except in compliance with the License.
561847f8eSopenharmony_ci * You may obtain a copy of the License at
661847f8eSopenharmony_ci *
761847f8eSopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
861847f8eSopenharmony_ci *
961847f8eSopenharmony_ci * Unless required by applicable law or agreed to in writing, software
1061847f8eSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
1161847f8eSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1261847f8eSopenharmony_ci * See the License for the specific language governing permissions and
1361847f8eSopenharmony_ci * limitations under the License.
1461847f8eSopenharmony_ci */
1561847f8eSopenharmony_ci
1661847f8eSopenharmony_ci/**
1761847f8eSopenharmony_ci * @file
1861847f8eSopenharmony_ci * @kit TelephonyKit
1961847f8eSopenharmony_ci */
2061847f8eSopenharmony_ci
2161847f8eSopenharmony_ciimport type { AsyncCallback, Callback } from './@ohos.base';
2261847f8eSopenharmony_ciimport type Context from './application/BaseContext';
2361847f8eSopenharmony_ciimport type image from './@ohos.multimedia.image';
2461847f8eSopenharmony_ci
2561847f8eSopenharmony_ci/**
2661847f8eSopenharmony_ci * Provides methods related to call management.
2761847f8eSopenharmony_ci *
2861847f8eSopenharmony_ci * @namespace call
2961847f8eSopenharmony_ci * @syscap SystemCapability.Telephony.CallManager
3061847f8eSopenharmony_ci * @since 6
3161847f8eSopenharmony_ci */
3261847f8eSopenharmony_ci/**
3361847f8eSopenharmony_ci * Provides methods related to call management.
3461847f8eSopenharmony_ci *
3561847f8eSopenharmony_ci * @namespace call
3661847f8eSopenharmony_ci * @syscap SystemCapability.Telephony.CallManager
3761847f8eSopenharmony_ci * @atomicservice
3861847f8eSopenharmony_ci * @since 11
3961847f8eSopenharmony_ci */
4061847f8eSopenharmony_cideclare namespace call {
4161847f8eSopenharmony_ci  /**
4261847f8eSopenharmony_ci   * Makes a call.
4361847f8eSopenharmony_ci   *
4461847f8eSopenharmony_ci   * @permission ohos.permission.PLACE_CALL
4561847f8eSopenharmony_ci   * @param { string } phoneNumber - Indicates the called number.
4661847f8eSopenharmony_ci   * @param { DialOptions } options - Indicates additional information carried in the call.
4761847f8eSopenharmony_ci   * @param { AsyncCallback<boolean> } callback - Indicates the callback for getting the result of the call.
4861847f8eSopenharmony_ci   * Returns {@code true} if the call request is successful; returns {@code false} otherwise.
4961847f8eSopenharmony_ci   * Note that the value {@code true} indicates only the successful processing of the request; it does not mean
5061847f8eSopenharmony_ci   * that the call is or can be connected.
5161847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
5261847f8eSopenharmony_ci   * @since 6
5361847f8eSopenharmony_ci   * @deprecated since 9
5461847f8eSopenharmony_ci   * @useinstead telephony.call#dialCall
5561847f8eSopenharmony_ci   */
5661847f8eSopenharmony_ci  function dial(phoneNumber: string, options: DialOptions, callback: AsyncCallback<boolean>): void;
5761847f8eSopenharmony_ci
5861847f8eSopenharmony_ci  /**
5961847f8eSopenharmony_ci   * Makes a call.
6061847f8eSopenharmony_ci   *
6161847f8eSopenharmony_ci   * @permission ohos.permission.PLACE_CALL
6261847f8eSopenharmony_ci   * @param { string } phoneNumber - Indicates the called number.
6361847f8eSopenharmony_ci   * @param { DialOptions } options - Indicates additional information carried in the call.
6461847f8eSopenharmony_ci   * @returns { Promise<boolean> } Returns the result of the call.
6561847f8eSopenharmony_ci   * Returns {@code true} if the call request is successful; returns {@code false} otherwise.
6661847f8eSopenharmony_ci   * Note that the value {@code true} indicates only the successful processing of the request; it does not mean
6761847f8eSopenharmony_ci   * that the call is or can be connected.
6861847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
6961847f8eSopenharmony_ci   * @since 6
7061847f8eSopenharmony_ci   * @deprecated since 9
7161847f8eSopenharmony_ci   * @useinstead telephony.call#dialCall
7261847f8eSopenharmony_ci   */
7361847f8eSopenharmony_ci  function dial(phoneNumber: string, options?: DialOptions): Promise<boolean>;
7461847f8eSopenharmony_ci
7561847f8eSopenharmony_ci  /**
7661847f8eSopenharmony_ci   * Makes a call.
7761847f8eSopenharmony_ci   *
7861847f8eSopenharmony_ci   * @permission ohos.permission.PLACE_CALL
7961847f8eSopenharmony_ci   * @param { string } phoneNumber - Indicates the called number.
8061847f8eSopenharmony_ci   * @param { AsyncCallback<boolean> } callback - Indicates the callback for getting the result of the call.
8161847f8eSopenharmony_ci   * Returns {@code true} if the call request is successful; returns {@code false} otherwise.
8261847f8eSopenharmony_ci   * Note that the value {@code true} indicates only the successful processing of the request; it does not mean
8361847f8eSopenharmony_ci   * that the call is or can be connected.
8461847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
8561847f8eSopenharmony_ci   * @since 6
8661847f8eSopenharmony_ci   * @deprecated since 9
8761847f8eSopenharmony_ci   * @useinstead telephony.call#dialCall
8861847f8eSopenharmony_ci   */
8961847f8eSopenharmony_ci  function dial(phoneNumber: string, callback: AsyncCallback<boolean>): void;
9061847f8eSopenharmony_ci
9161847f8eSopenharmony_ci  /**
9261847f8eSopenharmony_ci   * Makes a call.
9361847f8eSopenharmony_ci   *
9461847f8eSopenharmony_ci   * @permission ohos.permission.PLACE_CALL
9561847f8eSopenharmony_ci   * @param { string } phoneNumber - Indicates the called number.
9661847f8eSopenharmony_ci   * @param { DialCallOptions } options - Indicates additional information carried in the call.
9761847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback - The callback of dialCall.
9861847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
9961847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
10061847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
10161847f8eSopenharmony_ci   * 2. Incorrect parameters types;
10261847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
10361847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
10461847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
10561847f8eSopenharmony_ci   * @throws { BusinessError } 8300005 - Airplane mode is on.
10661847f8eSopenharmony_ci   * @throws { BusinessError } 8300006 - Network not in service.
10761847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
10861847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
10961847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
11061847f8eSopenharmony_ci   * @since 9
11161847f8eSopenharmony_ci   */
11261847f8eSopenharmony_ci  function dialCall(phoneNumber: string, options: DialCallOptions, callback: AsyncCallback<void>): void;
11361847f8eSopenharmony_ci
11461847f8eSopenharmony_ci  /**
11561847f8eSopenharmony_ci   * Makes a call.
11661847f8eSopenharmony_ci   *
11761847f8eSopenharmony_ci   * @permission ohos.permission.PLACE_CALL
11861847f8eSopenharmony_ci   * @param { string } phoneNumber - Indicates the called number.
11961847f8eSopenharmony_ci   * @param { DialCallOptions } options - Indicates additional information carried in the call.
12061847f8eSopenharmony_ci   * @returns { Promise<void> } The promise returned by the dialCall.
12161847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
12261847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
12361847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
12461847f8eSopenharmony_ci   * 2. Incorrect parameters types;
12561847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
12661847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
12761847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
12861847f8eSopenharmony_ci   * @throws { BusinessError } 8300005 - Airplane mode is on.
12961847f8eSopenharmony_ci   * @throws { BusinessError } 8300006 - Network not in service.
13061847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
13161847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
13261847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
13361847f8eSopenharmony_ci   * @since 9
13461847f8eSopenharmony_ci   */
13561847f8eSopenharmony_ci  function dialCall(phoneNumber: string, options?: DialCallOptions): Promise<void>;
13661847f8eSopenharmony_ci
13761847f8eSopenharmony_ci  /**
13861847f8eSopenharmony_ci   * Makes a call.
13961847f8eSopenharmony_ci   *
14061847f8eSopenharmony_ci   * @permission ohos.permission.PLACE_CALL
14161847f8eSopenharmony_ci   * @param { string } phoneNumber - Indicates the called number.
14261847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback - The callback of dialCall.
14361847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
14461847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
14561847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
14661847f8eSopenharmony_ci   * 2. Incorrect parameters types;
14761847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
14861847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
14961847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
15061847f8eSopenharmony_ci   * @throws { BusinessError } 8300005 - Airplane mode is on.
15161847f8eSopenharmony_ci   * @throws { BusinessError } 8300006 - Network not in service.
15261847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
15361847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
15461847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
15561847f8eSopenharmony_ci   * @since 9
15661847f8eSopenharmony_ci   */
15761847f8eSopenharmony_ci  function dialCall(phoneNumber: string, callback: AsyncCallback<void>): void;
15861847f8eSopenharmony_ci
15961847f8eSopenharmony_ci  /**
16061847f8eSopenharmony_ci   * Go to the dial screen and the called number is displayed.
16161847f8eSopenharmony_ci   *
16261847f8eSopenharmony_ci   * @param { string } phoneNumber - Indicates the called number.
16361847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback - The callback of makeCall.
16461847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
16561847f8eSopenharmony_ci   * 2. Incorrect parameters types;
16661847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
16761847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
16861847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
16961847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
17061847f8eSopenharmony_ci   * @syscap SystemCapability.Applications.Contacts
17161847f8eSopenharmony_ci   * @since 7
17261847f8eSopenharmony_ci   */
17361847f8eSopenharmony_ci  /**
17461847f8eSopenharmony_ci   * Go to the dial screen and the called number is displayed.
17561847f8eSopenharmony_ci   *
17661847f8eSopenharmony_ci   * @param { string } phoneNumber - Indicates the called number.
17761847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback - The callback of makeCall.
17861847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
17961847f8eSopenharmony_ci   * 2. Incorrect parameters types;
18061847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
18161847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
18261847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
18361847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
18461847f8eSopenharmony_ci   * @syscap SystemCapability.Applications.Contacts
18561847f8eSopenharmony_ci   * @atomicservice
18661847f8eSopenharmony_ci   * @since 11
18761847f8eSopenharmony_ci   */
18861847f8eSopenharmony_ci  function makeCall(phoneNumber: string, callback: AsyncCallback<void>): void;
18961847f8eSopenharmony_ci
19061847f8eSopenharmony_ci  /**
19161847f8eSopenharmony_ci   * Go to the dial screen and the called number is displayed.
19261847f8eSopenharmony_ci   *
19361847f8eSopenharmony_ci   * @param { string } phoneNumber - Indicates the called number.
19461847f8eSopenharmony_ci   * @returns { Promise<void> } The promise returned by the makeCall.
19561847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
19661847f8eSopenharmony_ci   * 2. Incorrect parameters types;
19761847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
19861847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
19961847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
20061847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
20161847f8eSopenharmony_ci   * @syscap SystemCapability.Applications.Contacts
20261847f8eSopenharmony_ci   * @since 7
20361847f8eSopenharmony_ci   */
20461847f8eSopenharmony_ci  /**
20561847f8eSopenharmony_ci   * Go to the dial screen and the called number is displayed.
20661847f8eSopenharmony_ci   *
20761847f8eSopenharmony_ci   * @param { string } phoneNumber - Indicates the called number.
20861847f8eSopenharmony_ci   * @returns { Promise<void> } The promise returned by the makeCall.
20961847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
21061847f8eSopenharmony_ci   * 2. Incorrect parameters types;
21161847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
21261847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
21361847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
21461847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
21561847f8eSopenharmony_ci   * @syscap SystemCapability.Applications.Contacts
21661847f8eSopenharmony_ci   * @atomicservice
21761847f8eSopenharmony_ci   * @since 11
21861847f8eSopenharmony_ci   */
21961847f8eSopenharmony_ci  function makeCall(phoneNumber: string): Promise<void>;
22061847f8eSopenharmony_ci
22161847f8eSopenharmony_ci  /**
22261847f8eSopenharmony_ci   * Go to the dial screen and the called number is displayed.
22361847f8eSopenharmony_ci   *
22461847f8eSopenharmony_ci   * @param { Context } context - Indicates the context.
22561847f8eSopenharmony_ci   * @param { string } phoneNumber - Indicates the called number.
22661847f8eSopenharmony_ci   * @returns { Promise<void> } The promise returned by the makeCall.
22761847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
22861847f8eSopenharmony_ci   * 2. Incorrect parameters types;
22961847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
23061847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
23161847f8eSopenharmony_ci   * @syscap SystemCapability.Applications.Contacts
23261847f8eSopenharmony_ci   * @atomicservice
23361847f8eSopenharmony_ci   * @since 12
23461847f8eSopenharmony_ci   */
23561847f8eSopenharmony_ci  function makeCall(context: Context, phoneNumber: string): Promise<void>;
23661847f8eSopenharmony_ci
23761847f8eSopenharmony_ci  /**
23861847f8eSopenharmony_ci   * Checks whether a call is ongoing.
23961847f8eSopenharmony_ci   *
24061847f8eSopenharmony_ci   * @param { AsyncCallback<boolean> } callback - The callback of hasCall. Returns {@code true} if at least one call is
24161847f8eSopenharmony_ci   * not in the {@link CallState#CALL_STATE_IDLE} state; returns {@code false} otherwise.
24261847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
24361847f8eSopenharmony_ci   * @since 6
24461847f8eSopenharmony_ci   */
24561847f8eSopenharmony_ci  function hasCall(callback: AsyncCallback<boolean>): void;
24661847f8eSopenharmony_ci
24761847f8eSopenharmony_ci  /**
24861847f8eSopenharmony_ci   * Checks whether a call is ongoing.
24961847f8eSopenharmony_ci   *
25061847f8eSopenharmony_ci   * @returns { Promise<boolean> } Returns {@code true} if at least one call is not
25161847f8eSopenharmony_ci   * in the {@link CallState#CALL_STATE_IDLE} state; returns {@code false} otherwise.
25261847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
25361847f8eSopenharmony_ci   * @since 6
25461847f8eSopenharmony_ci   */
25561847f8eSopenharmony_ci  function hasCall(): Promise<boolean>;
25661847f8eSopenharmony_ci
25761847f8eSopenharmony_ci  /**
25861847f8eSopenharmony_ci   * Checks whether a call is ongoing.
25961847f8eSopenharmony_ci   *
26061847f8eSopenharmony_ci   * @returns { boolean } Returns {@code true} if at least one call is not in the {@link CallState#CALL_STATE_IDLE}
26161847f8eSopenharmony_ci   * state; returns {@code false} otherwise.
26261847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
26361847f8eSopenharmony_ci   * @since 10
26461847f8eSopenharmony_ci   */
26561847f8eSopenharmony_ci  function hasCallSync(): boolean;
26661847f8eSopenharmony_ci
26761847f8eSopenharmony_ci  /**
26861847f8eSopenharmony_ci   * Obtains the call state.
26961847f8eSopenharmony_ci   *
27061847f8eSopenharmony_ci   * If an incoming call is ringing or waiting, the system returns {@code CallState#CALL_STATE_RINGING}.
27161847f8eSopenharmony_ci   * If at least one call is in the active, hold, or dialing state, the system returns
27261847f8eSopenharmony_ci   * {@code CallState#CALL_STATE_OFFHOOK}.
27361847f8eSopenharmony_ci   * In other cases, the system returns {@code CallState#CALL_STATE_IDLE}.
27461847f8eSopenharmony_ci   *
27561847f8eSopenharmony_ci   * @param { AsyncCallback<CallState> } callback - Indicates the callback for getting the call state.
27661847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
27761847f8eSopenharmony_ci   * @since 6
27861847f8eSopenharmony_ci   */
27961847f8eSopenharmony_ci  function getCallState(callback: AsyncCallback<CallState>): void;
28061847f8eSopenharmony_ci
28161847f8eSopenharmony_ci  /**
28261847f8eSopenharmony_ci   * Obtains the call state.
28361847f8eSopenharmony_ci   *
28461847f8eSopenharmony_ci   * If an incoming call is ringing or waiting, the system returns {@code CallState#CALL_STATE_RINGING}.
28561847f8eSopenharmony_ci   * If at least one call is in the active, hold, or dialing state, the system returns
28661847f8eSopenharmony_ci   * {@code CallState#CALL_STATE_OFFHOOK}.
28761847f8eSopenharmony_ci   * In other cases, the system returns {@code CallState#CALL_STATE_IDLE}.
28861847f8eSopenharmony_ci   *
28961847f8eSopenharmony_ci   * @returns { Promise<CallState> } Returns the call state.
29061847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
29161847f8eSopenharmony_ci   * @since 6
29261847f8eSopenharmony_ci   */
29361847f8eSopenharmony_ci  function getCallState(): Promise<CallState>;
29461847f8eSopenharmony_ci
29561847f8eSopenharmony_ci  /**
29661847f8eSopenharmony_ci   * Obtains the call state.
29761847f8eSopenharmony_ci   *
29861847f8eSopenharmony_ci   * If an incoming call is ringing or waiting, the system returns {@code CallState#CALL_STATE_RINGING}.
29961847f8eSopenharmony_ci   * If at least one call is in the active, hold, or dialing state, the system returns
30061847f8eSopenharmony_ci   * {@code CallState#CALL_STATE_OFFHOOK}. In other cases, the system returns {@code CallState#CALL_STATE_IDLE}.
30161847f8eSopenharmony_ci   *
30261847f8eSopenharmony_ci   * @returns { CallState } Returns the call state.
30361847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
30461847f8eSopenharmony_ci   * @since 10
30561847f8eSopenharmony_ci   */
30661847f8eSopenharmony_ci  function getCallStateSync(): CallState;
30761847f8eSopenharmony_ci
30861847f8eSopenharmony_ci  /**
30961847f8eSopenharmony_ci   * Stops the ringtone.
31061847f8eSopenharmony_ci   *
31161847f8eSopenharmony_ci   * If an incoming call is ringing, the phone stops ringing. Otherwise, this method does not function.
31261847f8eSopenharmony_ci   *
31361847f8eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
31461847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback - The callback of muteRinger.
31561847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
31661847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
31761847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
31861847f8eSopenharmony_ci   * 2. Incorrect parameters types;
31961847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
32061847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
32161847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
32261847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
32361847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
32461847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
32561847f8eSopenharmony_ci   * @since 8
32661847f8eSopenharmony_ci   */
32761847f8eSopenharmony_ci  function muteRinger(callback: AsyncCallback<void>): void;
32861847f8eSopenharmony_ci
32961847f8eSopenharmony_ci  /**
33061847f8eSopenharmony_ci   * Stops the ringtone.
33161847f8eSopenharmony_ci   *
33261847f8eSopenharmony_ci   * If an incoming call is ringing, the phone stops ringing. Otherwise, this method does not function.
33361847f8eSopenharmony_ci   *
33461847f8eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
33561847f8eSopenharmony_ci   * @returns { Promise<void> } The promise returned by the muteRinger.
33661847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
33761847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
33861847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
33961847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
34061847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
34161847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
34261847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
34361847f8eSopenharmony_ci   * @since 8
34461847f8eSopenharmony_ci   */
34561847f8eSopenharmony_ci  function muteRinger(): Promise<void>;
34661847f8eSopenharmony_ci
34761847f8eSopenharmony_ci  /**
34861847f8eSopenharmony_ci   * Checks whether a device supports voice calls.
34961847f8eSopenharmony_ci   *
35061847f8eSopenharmony_ci   * The system checks whether the device has the capability to initiate a circuit switching (CS) or IP multimedia
35161847f8eSopenharmony_ci   * subsystem domain (IMS) call on a telephone service network. If the device supports only packet switching
35261847f8eSopenharmony_ci   * (even if the device supports OTT calls), {@code false} is returned.
35361847f8eSopenharmony_ci   *
35461847f8eSopenharmony_ci   * @returns { boolean } Returns {@code true} if the device supports voice calls; returns {@code false} otherwise.
35561847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
35661847f8eSopenharmony_ci   * @since 7
35761847f8eSopenharmony_ci   */
35861847f8eSopenharmony_ci  function hasVoiceCapability(): boolean;
35961847f8eSopenharmony_ci
36061847f8eSopenharmony_ci  /**
36161847f8eSopenharmony_ci   * Checks whether a phone number is on the emergency number list.
36261847f8eSopenharmony_ci   *
36361847f8eSopenharmony_ci   * @param { string } phoneNumber - Indicates the phone number to check.
36461847f8eSopenharmony_ci   * @param { EmergencyNumberOptions } options - Indicates the additional information for emergency numbers.
36561847f8eSopenharmony_ci   * @param { AsyncCallback<boolean> } callback - Indicates the callback for isEmergencyPhoneNumber.
36661847f8eSopenharmony_ci   * Returns {@code true} if the phone number is on the emergency number list. Returns {@code false} otherwise.
36761847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
36861847f8eSopenharmony_ci   * 2. Incorrect parameters types;
36961847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
37061847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
37161847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
37261847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
37361847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
37461847f8eSopenharmony_ci   * @since 7
37561847f8eSopenharmony_ci   */
37661847f8eSopenharmony_ci  function isEmergencyPhoneNumber(phoneNumber: string, options: EmergencyNumberOptions, callback: AsyncCallback<boolean>): void;
37761847f8eSopenharmony_ci
37861847f8eSopenharmony_ci  /**
37961847f8eSopenharmony_ci   * Checks whether a phone number is on the emergency number list.
38061847f8eSopenharmony_ci   *
38161847f8eSopenharmony_ci   * @param { string } phoneNumber - Indicates the phone number to check.
38261847f8eSopenharmony_ci   * @param { EmergencyNumberOptions } options - Indicates the additional information for emergency numbers.
38361847f8eSopenharmony_ci   * @returns { Promise<boolean> } Returns {@code true} if the phone number is on the emergency number list.
38461847f8eSopenharmony_ci   * Returns {@code false} otherwise.
38561847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
38661847f8eSopenharmony_ci   * 2. Incorrect parameters types;
38761847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
38861847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
38961847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
39061847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
39161847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
39261847f8eSopenharmony_ci   * @since 7
39361847f8eSopenharmony_ci   */
39461847f8eSopenharmony_ci  function isEmergencyPhoneNumber(phoneNumber: string, options?: EmergencyNumberOptions): Promise<boolean>;
39561847f8eSopenharmony_ci
39661847f8eSopenharmony_ci  /**
39761847f8eSopenharmony_ci   * Checks whether a phone number is on the emergency number list.
39861847f8eSopenharmony_ci   *
39961847f8eSopenharmony_ci   * @param { string } phoneNumber - Indicates the phone number to check.
40061847f8eSopenharmony_ci   * @param { AsyncCallback<boolean> } callback - Indicates the callback for isEmergencyPhoneNumber.
40161847f8eSopenharmony_ci   * Returns {@code true} if the phone number is on the emergency number list. Returns {@code false} otherwise.
40261847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
40361847f8eSopenharmony_ci   * 2. Incorrect parameters types;
40461847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
40561847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
40661847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
40761847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
40861847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
40961847f8eSopenharmony_ci   * @since 7
41061847f8eSopenharmony_ci   */
41161847f8eSopenharmony_ci  function isEmergencyPhoneNumber(phoneNumber: string, callback: AsyncCallback<boolean>): void;
41261847f8eSopenharmony_ci
41361847f8eSopenharmony_ci  /**
41461847f8eSopenharmony_ci   * Formats a phone number according to the Chinese Telephone Code Plan. Before the formatting,
41561847f8eSopenharmony_ci   * a phone number is in the format of country code (if any) + 3-digit service provider code
41661847f8eSopenharmony_ci   * + 4-digit area code + 4-digit subscriber number. After the formatting,
41761847f8eSopenharmony_ci   * each part is separated by a space.
41861847f8eSopenharmony_ci   *
41961847f8eSopenharmony_ci   * @param { string } phoneNumber - Indicates the phone number to format.
42061847f8eSopenharmony_ci   * @param { NumberFormatOptions } options - Indicates the country code option.
42161847f8eSopenharmony_ci   * @param { AsyncCallback<string> } callback - Indicates the callback to obtain a formatted phone number.
42261847f8eSopenharmony_ci   * Returns an empty string if the input phone number is invalid.
42361847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
42461847f8eSopenharmony_ci   * 2. Incorrect parameters types;
42561847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
42661847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
42761847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
42861847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
42961847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
43061847f8eSopenharmony_ci   * @since 7
43161847f8eSopenharmony_ci   */
43261847f8eSopenharmony_ci  function formatPhoneNumber(phoneNumber: string, options: NumberFormatOptions, callback: AsyncCallback<string>): void;
43361847f8eSopenharmony_ci
43461847f8eSopenharmony_ci  /**
43561847f8eSopenharmony_ci   * Formats a phone number according to the Chinese Telephone Code Plan. Before the formatting,
43661847f8eSopenharmony_ci   * a phone number is in the format of country code (if any) + 3-digit service provider code
43761847f8eSopenharmony_ci   * + 4-digit area code + 4-digit subscriber number. After the formatting,
43861847f8eSopenharmony_ci   * each part is separated by a space.
43961847f8eSopenharmony_ci   *
44061847f8eSopenharmony_ci   * @param { string } phoneNumber - Indicates the phone number to format.
44161847f8eSopenharmony_ci   * @param { NumberFormatOptions } options - Indicates the country code option.
44261847f8eSopenharmony_ci   * @returns { Promise<string> } Returns the phone number after being formatted.
44361847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
44461847f8eSopenharmony_ci   * 2. Incorrect parameters types;
44561847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
44661847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
44761847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
44861847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
44961847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
45061847f8eSopenharmony_ci   * @since 7
45161847f8eSopenharmony_ci   */
45261847f8eSopenharmony_ci  function formatPhoneNumber(phoneNumber: string, options?: NumberFormatOptions): Promise<string>;
45361847f8eSopenharmony_ci
45461847f8eSopenharmony_ci  /**
45561847f8eSopenharmony_ci   * Formats a phone number according to the Chinese Telephone Code Plan. Before the formatting,
45661847f8eSopenharmony_ci   * a phone number is in the format of country code (if any) + 3-digit service provider code
45761847f8eSopenharmony_ci   * + 4-digit area code + 4-digit subscriber number. After the formatting,
45861847f8eSopenharmony_ci   * each part is separated by a space.
45961847f8eSopenharmony_ci   *
46061847f8eSopenharmony_ci   * @param { string } phoneNumber - Indicates the phone number to format.
46161847f8eSopenharmony_ci   * @param { AsyncCallback<string> } callback - Indicates the callback to obtain a formatted phone number.
46261847f8eSopenharmony_ci   * Returns an empty string if the input phone number is invalid.
46361847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
46461847f8eSopenharmony_ci   * 2. Incorrect parameters types;
46561847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
46661847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
46761847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
46861847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
46961847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
47061847f8eSopenharmony_ci   * @since 7
47161847f8eSopenharmony_ci   */
47261847f8eSopenharmony_ci  function formatPhoneNumber(phoneNumber: string, callback: AsyncCallback<string>): void;
47361847f8eSopenharmony_ci
47461847f8eSopenharmony_ci  /**
47561847f8eSopenharmony_ci   * Formats a phone number into an E.164 representation.
47661847f8eSopenharmony_ci   *
47761847f8eSopenharmony_ci   * @param { string } phoneNumber - Indicates the phone number to format.
47861847f8eSopenharmony_ci   * @param { string } countryCode - Indicates a two-digit country code defined in ISO 3166-1.
47961847f8eSopenharmony_ci   * @param { AsyncCallback<string> } callback - Returns an E.164 number.
48061847f8eSopenharmony_ci   * Returns an empty string if the input phone number is invalid.
48161847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
48261847f8eSopenharmony_ci   * 2. Incorrect parameters types;
48361847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
48461847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
48561847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
48661847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
48761847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
48861847f8eSopenharmony_ci   * @since 7
48961847f8eSopenharmony_ci   */
49061847f8eSopenharmony_ci  function formatPhoneNumberToE164(phoneNumber: string, countryCode: string, callback: AsyncCallback<string>): void;
49161847f8eSopenharmony_ci
49261847f8eSopenharmony_ci  /**
49361847f8eSopenharmony_ci   * Formats a phone number into an E.164 representation.
49461847f8eSopenharmony_ci   *
49561847f8eSopenharmony_ci   * @param { string } phoneNumber - Indicates the phone number to format.
49661847f8eSopenharmony_ci   * @param { string } countryCode - Indicates a two-digit country code defined in ISO 3166-1.
49761847f8eSopenharmony_ci   * @returns { Promise<string> } Returns an E.164 number.
49861847f8eSopenharmony_ci   * Returns an empty string if the input phone number is invalid.
49961847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
50061847f8eSopenharmony_ci   * 2. Incorrect parameters types;
50161847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
50261847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
50361847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
50461847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
50561847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
50661847f8eSopenharmony_ci   * @since 7
50761847f8eSopenharmony_ci   */
50861847f8eSopenharmony_ci  function formatPhoneNumberToE164(phoneNumber: string, countryCode: string): Promise<string>;
50961847f8eSopenharmony_ci
51061847f8eSopenharmony_ci  /**
51161847f8eSopenharmony_ci   * Answers the incoming call.
51261847f8eSopenharmony_ci   *
51361847f8eSopenharmony_ci   * @permission ohos.permission.ANSWER_CALL
51461847f8eSopenharmony_ci   * @param { number } callId - Indicates the identifier of the call to answer.
51561847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback - The callback of answerCall.
51661847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
51761847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
51861847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
51961847f8eSopenharmony_ci   * 2. Incorrect parameters types;
52061847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
52161847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
52261847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
52361847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
52461847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
52561847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
52661847f8eSopenharmony_ci   * @since 9
52761847f8eSopenharmony_ci   */
52861847f8eSopenharmony_ci  function answerCall(callId: number, callback: AsyncCallback<void>): void;
52961847f8eSopenharmony_ci
53061847f8eSopenharmony_ci  /**
53161847f8eSopenharmony_ci   * Answers the incoming call.
53261847f8eSopenharmony_ci   *
53361847f8eSopenharmony_ci   * @permission ohos.permission.ANSWER_CALL
53461847f8eSopenharmony_ci   * @param { number } callId - Indicates the identifier of the call to answer.
53561847f8eSopenharmony_ci   * @returns { Promise<void> } The promise returned by the answerCall.
53661847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
53761847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
53861847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
53961847f8eSopenharmony_ci   * 2. Incorrect parameters types;
54061847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
54161847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
54261847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
54361847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
54461847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
54561847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
54661847f8eSopenharmony_ci   * @since 9
54761847f8eSopenharmony_ci   */
54861847f8eSopenharmony_ci  function answerCall(callId?: number): Promise<void>;
54961847f8eSopenharmony_ci
55061847f8eSopenharmony_ci  /**
55161847f8eSopenharmony_ci   * Answers the incoming call without callId.
55261847f8eSopenharmony_ci   *
55361847f8eSopenharmony_ci   * @permission ohos.permission.ANSWER_CALL
55461847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback - The callback of answerCall.
55561847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
55661847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
55761847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
55861847f8eSopenharmony_ci   * 2. Incorrect parameters types;
55961847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
56061847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
56161847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
56261847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
56361847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
56461847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
56561847f8eSopenharmony_ci   * @since 9
56661847f8eSopenharmony_ci   */
56761847f8eSopenharmony_ci  function answerCall(callback: AsyncCallback<void>): void;
56861847f8eSopenharmony_ci
56961847f8eSopenharmony_ci  /**
57061847f8eSopenharmony_ci   * Answers the incoming video call
57161847f8eSopenharmony_ci   *
57261847f8eSopenharmony_ci   * @permission ohos.permission.ANSWER_CALL
57361847f8eSopenharmony_ci   * @param { VideoStateType } videoState - Indicates the answer the call with video or voice.
57461847f8eSopenharmony_ci   * @param { number } callId - Indicates the identifier of the call to answer.
57561847f8eSopenharmony_ci   * @returns { Promise<void> } The promise returned by the answerCall.
57661847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
57761847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
57861847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
57961847f8eSopenharmony_ci   * 2. Incorrect parameters types;
58061847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
58161847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
58261847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
58361847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
58461847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
58561847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
58661847f8eSopenharmony_ci   * @since 11
58761847f8eSopenharmony_ci   */
58861847f8eSopenharmony_ci  function answerCall(videoState: VideoStateType, callId: number): Promise<void>;
58961847f8eSopenharmony_ci
59061847f8eSopenharmony_ci  /**
59161847f8eSopenharmony_ci   * Hang up the foreground call.
59261847f8eSopenharmony_ci   *
59361847f8eSopenharmony_ci   * @permission ohos.permission.ANSWER_CALL
59461847f8eSopenharmony_ci   * @param { number } callId - Indicates the identifier of the call to hangup.
59561847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback - The callback of hangUpCall.
59661847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
59761847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
59861847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
59961847f8eSopenharmony_ci   * 2. Incorrect parameters types;
60061847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
60161847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
60261847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
60361847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
60461847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
60561847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
60661847f8eSopenharmony_ci   * @since 9
60761847f8eSopenharmony_ci   */
60861847f8eSopenharmony_ci  function hangUpCall(callId: number, callback: AsyncCallback<void>): void;
60961847f8eSopenharmony_ci
61061847f8eSopenharmony_ci  /**
61161847f8eSopenharmony_ci   * Hang up the foreground call.
61261847f8eSopenharmony_ci   *
61361847f8eSopenharmony_ci   * @permission ohos.permission.ANSWER_CALL
61461847f8eSopenharmony_ci   * @param { number } callId - Indicates the identifier of the call to hangup.
61561847f8eSopenharmony_ci   * @returns { Promise<void> } The promise returned by the hangUpCall.
61661847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
61761847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
61861847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
61961847f8eSopenharmony_ci   * 2. Incorrect parameters types;
62061847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
62161847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
62261847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
62361847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
62461847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
62561847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
62661847f8eSopenharmony_ci   * @since 9
62761847f8eSopenharmony_ci   */
62861847f8eSopenharmony_ci  function hangUpCall(callId?: number): Promise<void>;
62961847f8eSopenharmony_ci
63061847f8eSopenharmony_ci  /**
63161847f8eSopenharmony_ci   * Hang up the foreground call without callId.
63261847f8eSopenharmony_ci   *
63361847f8eSopenharmony_ci   * @permission ohos.permission.ANSWER_CALL
63461847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback - The callback of hangUpCall.
63561847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
63661847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
63761847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
63861847f8eSopenharmony_ci   * 2. Incorrect parameters types;
63961847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
64061847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
64161847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
64261847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
64361847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
64461847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
64561847f8eSopenharmony_ci   * @since 9
64661847f8eSopenharmony_ci   */
64761847f8eSopenharmony_ci  function hangUpCall(callback: AsyncCallback<void>): void;
64861847f8eSopenharmony_ci
64961847f8eSopenharmony_ci  /**
65061847f8eSopenharmony_ci   * Reject the incoming call.
65161847f8eSopenharmony_ci   *
65261847f8eSopenharmony_ci   * @permission ohos.permission.ANSWER_CALL
65361847f8eSopenharmony_ci   * @param { number } callId - Indicates the identifier of the call to reject.
65461847f8eSopenharmony_ci   * @param { RejectMessageOptions } options - Indicates the text message to reject.
65561847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback - The callback of rejectCall.
65661847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
65761847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
65861847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
65961847f8eSopenharmony_ci   * 2. Incorrect parameters types;
66061847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
66161847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
66261847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
66361847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
66461847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
66561847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
66661847f8eSopenharmony_ci   * @since 9
66761847f8eSopenharmony_ci   */
66861847f8eSopenharmony_ci  function rejectCall(callId: number, options: RejectMessageOptions, callback: AsyncCallback<void>): void;
66961847f8eSopenharmony_ci
67061847f8eSopenharmony_ci  /**
67161847f8eSopenharmony_ci   * Reject the incoming call.
67261847f8eSopenharmony_ci   *
67361847f8eSopenharmony_ci   * @permission ohos.permission.ANSWER_CALL
67461847f8eSopenharmony_ci   * @param { number } callId - Indicates the identifier of the call to reject.
67561847f8eSopenharmony_ci   * @param { RejectMessageOptions } options - Indicates the text message to reject.
67661847f8eSopenharmony_ci   * @returns { Promise<void> } The promise returned by the rejectCall.
67761847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
67861847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
67961847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
68061847f8eSopenharmony_ci   * 2. Incorrect parameters types;
68161847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
68261847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
68361847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
68461847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
68561847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
68661847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
68761847f8eSopenharmony_ci   * @since 9
68861847f8eSopenharmony_ci   */
68961847f8eSopenharmony_ci  function rejectCall(callId?: number, options?: RejectMessageOptions): Promise<void>;
69061847f8eSopenharmony_ci
69161847f8eSopenharmony_ci  /**
69261847f8eSopenharmony_ci   * Reject the incoming call.
69361847f8eSopenharmony_ci   *
69461847f8eSopenharmony_ci   * @permission ohos.permission.ANSWER_CALL
69561847f8eSopenharmony_ci   * @param { number } callId - Indicates the identifier of the call to reject.
69661847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback - The callback of rejectCall.
69761847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
69861847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
69961847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
70061847f8eSopenharmony_ci   * 2. Incorrect parameters types;
70161847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
70261847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
70361847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
70461847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
70561847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
70661847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
70761847f8eSopenharmony_ci   * @since 9
70861847f8eSopenharmony_ci   */
70961847f8eSopenharmony_ci  function rejectCall(callId: number, callback: AsyncCallback<void>): void;
71061847f8eSopenharmony_ci
71161847f8eSopenharmony_ci  /**
71261847f8eSopenharmony_ci   * Reject the incoming call without callId.
71361847f8eSopenharmony_ci   *
71461847f8eSopenharmony_ci   * @permission ohos.permission.ANSWER_CALL
71561847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback - The callback of rejectCall.
71661847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
71761847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
71861847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
71961847f8eSopenharmony_ci   * 2. Incorrect parameters types;
72061847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
72161847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
72261847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
72361847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
72461847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
72561847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
72661847f8eSopenharmony_ci   * @since 9
72761847f8eSopenharmony_ci   */
72861847f8eSopenharmony_ci  function rejectCall(callback: AsyncCallback<void>): void;
72961847f8eSopenharmony_ci
73061847f8eSopenharmony_ci  /**
73161847f8eSopenharmony_ci   * Reject the incoming call without callId.
73261847f8eSopenharmony_ci   *
73361847f8eSopenharmony_ci   * @permission ohos.permission.ANSWER_CALL
73461847f8eSopenharmony_ci   * @param { RejectMessageOptions } options - Indicates the text message to reject.
73561847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback - The callback of rejectCall.
73661847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
73761847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
73861847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
73961847f8eSopenharmony_ci   * 2. Incorrect parameters types;
74061847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
74161847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
74261847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
74361847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
74461847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
74561847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
74661847f8eSopenharmony_ci   * @since 9
74761847f8eSopenharmony_ci   */
74861847f8eSopenharmony_ci  function rejectCall(options: RejectMessageOptions, callback: AsyncCallback<void>): void;
74961847f8eSopenharmony_ci
75061847f8eSopenharmony_ci  /**
75161847f8eSopenharmony_ci   * Keep a call on hold.
75261847f8eSopenharmony_ci   *
75361847f8eSopenharmony_ci   * @permission ohos.permission.ANSWER_CALL
75461847f8eSopenharmony_ci   * @param { number } callId - Indicates the identifier of the call.
75561847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback - The callback of holdCall.
75661847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
75761847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
75861847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
75961847f8eSopenharmony_ci   * 2. Incorrect parameters types;
76061847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
76161847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
76261847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
76361847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
76461847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
76561847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
76661847f8eSopenharmony_ci   * @since 7
76761847f8eSopenharmony_ci   */
76861847f8eSopenharmony_ci  function holdCall(callId: number, callback: AsyncCallback<void>): void;
76961847f8eSopenharmony_ci
77061847f8eSopenharmony_ci  /**
77161847f8eSopenharmony_ci   * Keep a call on hold.
77261847f8eSopenharmony_ci   *
77361847f8eSopenharmony_ci   * @permission ohos.permission.ANSWER_CALL
77461847f8eSopenharmony_ci   * @param { number } callId - Indicates the identifier of the call.
77561847f8eSopenharmony_ci   * @returns { Promise<void> } The promise returned by the holdCall.
77661847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
77761847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
77861847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
77961847f8eSopenharmony_ci   * 2. Incorrect parameters types;
78061847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
78161847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
78261847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
78361847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
78461847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
78561847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
78661847f8eSopenharmony_ci   * @since 7
78761847f8eSopenharmony_ci   */
78861847f8eSopenharmony_ci  function holdCall(callId: number): Promise<void>;
78961847f8eSopenharmony_ci
79061847f8eSopenharmony_ci  /**
79161847f8eSopenharmony_ci   * Cancel call hold status.
79261847f8eSopenharmony_ci   *
79361847f8eSopenharmony_ci   * @permission ohos.permission.ANSWER_CALL
79461847f8eSopenharmony_ci   * @param { number } callId - Indicates the identifier of the call.
79561847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback - The callback of unHoldCall.
79661847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
79761847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
79861847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
79961847f8eSopenharmony_ci   * 2. Incorrect parameters types;
80061847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
80161847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
80261847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
80361847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
80461847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
80561847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
80661847f8eSopenharmony_ci   * @since 7
80761847f8eSopenharmony_ci   */
80861847f8eSopenharmony_ci  function unHoldCall(callId: number, callback: AsyncCallback<void>): void;
80961847f8eSopenharmony_ci
81061847f8eSopenharmony_ci  /**
81161847f8eSopenharmony_ci   * Keep a call on hold.
81261847f8eSopenharmony_ci   *
81361847f8eSopenharmony_ci   * @permission ohos.permission.ANSWER_CALL
81461847f8eSopenharmony_ci   * @param { number } callId - Indicates the identifier of the call.
81561847f8eSopenharmony_ci   * @returns { Promise<void> } The promise returned by the unHoldCall.
81661847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
81761847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
81861847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
81961847f8eSopenharmony_ci   * 2. Incorrect parameters types;
82061847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
82161847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
82261847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
82361847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
82461847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
82561847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
82661847f8eSopenharmony_ci   * @since 7
82761847f8eSopenharmony_ci   */
82861847f8eSopenharmony_ci  function unHoldCall(callId: number): Promise<void>;
82961847f8eSopenharmony_ci
83061847f8eSopenharmony_ci  /**
83161847f8eSopenharmony_ci   * Switch call.
83261847f8eSopenharmony_ci   *
83361847f8eSopenharmony_ci   * @permission ohos.permission.ANSWER_CALL
83461847f8eSopenharmony_ci   * @param { number } callId - Indicates the identifier of the call.
83561847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback - The callback of switchCall.
83661847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
83761847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
83861847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
83961847f8eSopenharmony_ci   * 2. Incorrect parameters types;
84061847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
84161847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
84261847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
84361847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
84461847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
84561847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
84661847f8eSopenharmony_ci   * @since 7
84761847f8eSopenharmony_ci   */
84861847f8eSopenharmony_ci  function switchCall(callId: number, callback: AsyncCallback<void>): void;
84961847f8eSopenharmony_ci
85061847f8eSopenharmony_ci  /**
85161847f8eSopenharmony_ci   * Switch call.
85261847f8eSopenharmony_ci   *
85361847f8eSopenharmony_ci   * @permission ohos.permission.ANSWER_CALL
85461847f8eSopenharmony_ci   * @param { number } callId - Indicates the identifier of the call.
85561847f8eSopenharmony_ci   * @returns { Promise<void> } The promise returned by the switchCall.
85661847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
85761847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
85861847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
85961847f8eSopenharmony_ci   * 2. Incorrect parameters types;
86061847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
86161847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
86261847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
86361847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
86461847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
86561847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
86661847f8eSopenharmony_ci   * @since 7
86761847f8eSopenharmony_ci   */
86861847f8eSopenharmony_ci  function switchCall(callId: number): Promise<void>;
86961847f8eSopenharmony_ci
87061847f8eSopenharmony_ci  /**
87161847f8eSopenharmony_ci   * Merge calls, merge two calls into conference calls.
87261847f8eSopenharmony_ci   *
87361847f8eSopenharmony_ci   * @param { number } callId - Indicates the identifier of the call.
87461847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback - The callback of combineConference.
87561847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
87661847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
87761847f8eSopenharmony_ci   * 2. Incorrect parameters types;
87861847f8eSopenharmony_ci   * @throws { BusinessError } 801 - Capability not supported.
87961847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
88061847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
88161847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
88261847f8eSopenharmony_ci   * @throws { BusinessError } 8300007 - The number of conference calls exceeds the limit.
88361847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
88461847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
88561847f8eSopenharmony_ci   * @since 11
88661847f8eSopenharmony_ci   */
88761847f8eSopenharmony_ci  function combineConference(callId: number, callback: AsyncCallback<void>): void;
88861847f8eSopenharmony_ci
88961847f8eSopenharmony_ci  /**
89061847f8eSopenharmony_ci   * Merge calls, merge two calls into conference calls.
89161847f8eSopenharmony_ci   *
89261847f8eSopenharmony_ci   * @param { number } callId - Indicates the identifier of the call.
89361847f8eSopenharmony_ci   * @returns { Promise<void> } The promise returned by the combineConference.
89461847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
89561847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
89661847f8eSopenharmony_ci   * 2. Incorrect parameters types;
89761847f8eSopenharmony_ci   * @throws { BusinessError } 801 - Capability not supported.
89861847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
89961847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
90061847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
90161847f8eSopenharmony_ci   * @throws { BusinessError } 8300007 - The number of conference calls exceeds the limit.
90261847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
90361847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
90461847f8eSopenharmony_ci   * @since 11
90561847f8eSopenharmony_ci   */
90661847f8eSopenharmony_ci  function combineConference(callId: number): Promise<void>;
90761847f8eSopenharmony_ci
90861847f8eSopenharmony_ci  /**
90961847f8eSopenharmony_ci   * Get the main call Id.
91061847f8eSopenharmony_ci   *
91161847f8eSopenharmony_ci   * @param { number } callId - Indicates the identifier of the call.
91261847f8eSopenharmony_ci   * @param { AsyncCallback<number> } callback - Indicates the callback for getting the main call id.
91361847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
91461847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
91561847f8eSopenharmony_ci   * 2. Incorrect parameters types;
91661847f8eSopenharmony_ci   * @throws { BusinessError } 801 - Capability not supported.
91761847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
91861847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
91961847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
92061847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
92161847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
92261847f8eSopenharmony_ci   * @since 7
92361847f8eSopenharmony_ci   */
92461847f8eSopenharmony_ci  function getMainCallId(callId: number, callback: AsyncCallback<number>): void;
92561847f8eSopenharmony_ci
92661847f8eSopenharmony_ci  /**
92761847f8eSopenharmony_ci   * Get the main call Id.
92861847f8eSopenharmony_ci   *
92961847f8eSopenharmony_ci   * @param { number } callId - Indicates the identifier of the call.
93061847f8eSopenharmony_ci   * @returns { Promise<number> } Returns the main call id.
93161847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
93261847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
93361847f8eSopenharmony_ci   * 2. Incorrect parameters types;
93461847f8eSopenharmony_ci   * @throws { BusinessError } 801 - Capability not supported.
93561847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
93661847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
93761847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
93861847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
93961847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
94061847f8eSopenharmony_ci   * @since 7
94161847f8eSopenharmony_ci   */
94261847f8eSopenharmony_ci  function getMainCallId(callId: number): Promise<number>;
94361847f8eSopenharmony_ci
94461847f8eSopenharmony_ci  /**
94561847f8eSopenharmony_ci   * Get the list of sub-call Ids.
94661847f8eSopenharmony_ci   *
94761847f8eSopenharmony_ci   * @param { number } callId - Indicates the identifier of the call.
94861847f8eSopenharmony_ci   * @param { AsyncCallback<Array<string>> } callback - Indicates the callback for getting the list of sub call ids.
94961847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
95061847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
95161847f8eSopenharmony_ci   * 2. Incorrect parameters types;
95261847f8eSopenharmony_ci   * @throws { BusinessError } 801 - Capability not supported.
95361847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
95461847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
95561847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
95661847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
95761847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
95861847f8eSopenharmony_ci   * @since 7
95961847f8eSopenharmony_ci   */
96061847f8eSopenharmony_ci  function getSubCallIdList(callId: number, callback: AsyncCallback<Array<string>>): void;
96161847f8eSopenharmony_ci
96261847f8eSopenharmony_ci  /**
96361847f8eSopenharmony_ci   * Get the list of sub-call Ids.
96461847f8eSopenharmony_ci   *
96561847f8eSopenharmony_ci   * @param { number } callId - Indicates the identifier of the call.
96661847f8eSopenharmony_ci   * @returns { Promise<Array<string>> } Returns the list of sub call ids.
96761847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
96861847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
96961847f8eSopenharmony_ci   * 2. Incorrect parameters types;
97061847f8eSopenharmony_ci   * @throws { BusinessError } 801 - Capability not supported.
97161847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
97261847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
97361847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
97461847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
97561847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
97661847f8eSopenharmony_ci   * @since 7
97761847f8eSopenharmony_ci   */
97861847f8eSopenharmony_ci  function getSubCallIdList(callId: number): Promise<Array<string>>;
97961847f8eSopenharmony_ci
98061847f8eSopenharmony_ci  /**
98161847f8eSopenharmony_ci   * Get the call Id list of the conference.
98261847f8eSopenharmony_ci   *
98361847f8eSopenharmony_ci   * @param { number } callId - Indicates the identifier of the call.
98461847f8eSopenharmony_ci   * @param { AsyncCallback<Array<string>> } callback - Indicates the callback for getting
98561847f8eSopenharmony_ci   * the call id list of conference calls.
98661847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
98761847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
98861847f8eSopenharmony_ci   * 2. Incorrect parameters types;
98961847f8eSopenharmony_ci   * @throws { BusinessError } 801 - Capability not supported.
99061847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
99161847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
99261847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
99361847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
99461847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
99561847f8eSopenharmony_ci   * @since 7
99661847f8eSopenharmony_ci   */
99761847f8eSopenharmony_ci  function getCallIdListForConference(callId: number, callback: AsyncCallback<Array<string>>): void;
99861847f8eSopenharmony_ci
99961847f8eSopenharmony_ci  /**
100061847f8eSopenharmony_ci   * Get the call Id list of the conference.
100161847f8eSopenharmony_ci   *
100261847f8eSopenharmony_ci   * @param { number } callId - Indicates the identifier of the call.
100361847f8eSopenharmony_ci   * @returns { Promise<Array<string>> } Returns the call id list of conference calls.
100461847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
100561847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
100661847f8eSopenharmony_ci   * 2. Incorrect parameters types;
100761847f8eSopenharmony_ci   * @throws { BusinessError } 801 - Capability not supported.
100861847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
100961847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
101061847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
101161847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
101261847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
101361847f8eSopenharmony_ci   * @since 7
101461847f8eSopenharmony_ci   */
101561847f8eSopenharmony_ci  function getCallIdListForConference(callId: number): Promise<Array<string>>;
101661847f8eSopenharmony_ci
101761847f8eSopenharmony_ci  /**
101861847f8eSopenharmony_ci   * Get call waiting status.
101961847f8eSopenharmony_ci   *
102061847f8eSopenharmony_ci   * @permission ohos.permission.GET_TELEPHONY_STATE
102161847f8eSopenharmony_ci   * @param { number } slotId - Indicates the card slot index number,
102261847f8eSopenharmony_ci   * ranging from 0 to the maximum card slot index number supported by the device.
102361847f8eSopenharmony_ci   * @param { AsyncCallback<CallWaitingStatus> } callback - Indicates the callback for getting the call waiting status.
102461847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
102561847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
102661847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
102761847f8eSopenharmony_ci   * 2. Incorrect parameters types;
102861847f8eSopenharmony_ci   * @throws { BusinessError } 801 - Capability not supported.
102961847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
103061847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
103161847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
103261847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
103361847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
103461847f8eSopenharmony_ci   * @since 7
103561847f8eSopenharmony_ci   */
103661847f8eSopenharmony_ci  function getCallWaitingStatus(slotId: number, callback: AsyncCallback<CallWaitingStatus>): void;
103761847f8eSopenharmony_ci
103861847f8eSopenharmony_ci  /**
103961847f8eSopenharmony_ci   * Get call waiting status.
104061847f8eSopenharmony_ci   *
104161847f8eSopenharmony_ci   * @permission ohos.permission.GET_TELEPHONY_STATE
104261847f8eSopenharmony_ci   * @param { number } slotId - Indicates the card slot index number,
104361847f8eSopenharmony_ci   * ranging from 0 to the maximum card slot index number supported by the device.
104461847f8eSopenharmony_ci   * @returns { Promise<CallWaitingStatus> } Returns the callback for getting the call waiting status.
104561847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
104661847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
104761847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
104861847f8eSopenharmony_ci   * 2. Incorrect parameters types;
104961847f8eSopenharmony_ci   * @throws { BusinessError } 801 - Capability not supported.
105061847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
105161847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
105261847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
105361847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
105461847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
105561847f8eSopenharmony_ci   * @since 7
105661847f8eSopenharmony_ci   */
105761847f8eSopenharmony_ci  function getCallWaitingStatus(slotId: number): Promise<CallWaitingStatus>;
105861847f8eSopenharmony_ci
105961847f8eSopenharmony_ci  /**
106061847f8eSopenharmony_ci   * Set call waiting.
106161847f8eSopenharmony_ci   *
106261847f8eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
106361847f8eSopenharmony_ci   * @param { number } slotId - Indicates the card slot index number,
106461847f8eSopenharmony_ci   * ranging from 0 to the maximum card slot index number supported by the device.
106561847f8eSopenharmony_ci   * @param { boolean } activate - Indicates whether to activate or call wait.
106661847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback - The callback of setCallWaiting.
106761847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
106861847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
106961847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
107061847f8eSopenharmony_ci   * 2. Incorrect parameters types;
107161847f8eSopenharmony_ci   * @throws { BusinessError } 801 - Capability not supported.
107261847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
107361847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
107461847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
107561847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
107661847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
107761847f8eSopenharmony_ci   * @since 7
107861847f8eSopenharmony_ci   */
107961847f8eSopenharmony_ci  function setCallWaiting(slotId: number, activate: boolean, callback: AsyncCallback<void>): void;
108061847f8eSopenharmony_ci
108161847f8eSopenharmony_ci  /**
108261847f8eSopenharmony_ci   * Set call waiting.
108361847f8eSopenharmony_ci   *
108461847f8eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
108561847f8eSopenharmony_ci   * @param { number } slotId - Indicates the card slot index number,
108661847f8eSopenharmony_ci   * ranging from 0 to the maximum card slot index number supported by the device.
108761847f8eSopenharmony_ci   * @param { boolean } activate - Indicates whether to activate or call wait.
108861847f8eSopenharmony_ci   * @returns { Promise<void> } The promise returned by the setCallWaiting.
108961847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
109061847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
109161847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
109261847f8eSopenharmony_ci   * 2. Incorrect parameters types;
109361847f8eSopenharmony_ci   * @throws { BusinessError } 801 - Capability not supported.
109461847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
109561847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
109661847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
109761847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
109861847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
109961847f8eSopenharmony_ci   * @since 7
110061847f8eSopenharmony_ci   */
110161847f8eSopenharmony_ci  function setCallWaiting(slotId: number, activate: boolean): Promise<void>;
110261847f8eSopenharmony_ci
110361847f8eSopenharmony_ci  /**
110461847f8eSopenharmony_ci   * Start DTMF(Dual Tone Multi Frequency).
110561847f8eSopenharmony_ci   *
110661847f8eSopenharmony_ci   * @param { number } callId - Indicates the identifier of the call.
110761847f8eSopenharmony_ci   * @param { string } character - Indicates the characters sent.
110861847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback - The callback of startDTMF.
110961847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
111061847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
111161847f8eSopenharmony_ci   * 2. Incorrect parameters types;
111261847f8eSopenharmony_ci   * @throws { BusinessError } 801 - Capability not supported.
111361847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
111461847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
111561847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
111661847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
111761847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
111861847f8eSopenharmony_ci   * @since 7
111961847f8eSopenharmony_ci   */
112061847f8eSopenharmony_ci  function startDTMF(callId: number, character: string, callback: AsyncCallback<void>): void;
112161847f8eSopenharmony_ci
112261847f8eSopenharmony_ci  /**
112361847f8eSopenharmony_ci   * Start DTMF(Dual Tone Multi Frequency).
112461847f8eSopenharmony_ci   *
112561847f8eSopenharmony_ci   * @param { number } callId - Indicates the identifier of the call.
112661847f8eSopenharmony_ci   * @param { string } character - Indicates the characters sent.
112761847f8eSopenharmony_ci   * @returns { Promise<void> } The promise returned by the startDTMF.
112861847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
112961847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
113061847f8eSopenharmony_ci   * 2. Incorrect parameters types;
113161847f8eSopenharmony_ci   * @throws { BusinessError } 801 - Capability not supported.
113261847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
113361847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
113461847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
113561847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
113661847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
113761847f8eSopenharmony_ci   * @since 7
113861847f8eSopenharmony_ci   */
113961847f8eSopenharmony_ci  function startDTMF(callId: number, character: string): Promise<void>;
114061847f8eSopenharmony_ci
114161847f8eSopenharmony_ci  /**
114261847f8eSopenharmony_ci   * Stop DTMF(Dual Tone Multi Frequency).
114361847f8eSopenharmony_ci   *
114461847f8eSopenharmony_ci   * @param { number } callId - Indicates the identifier of the call.
114561847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback - The callback of stopDTMF.
114661847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
114761847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
114861847f8eSopenharmony_ci   * 2. Incorrect parameters types;
114961847f8eSopenharmony_ci   * @throws { BusinessError } 801 - Capability not supported.
115061847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
115161847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
115261847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
115361847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
115461847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
115561847f8eSopenharmony_ci   * @since 7
115661847f8eSopenharmony_ci   */
115761847f8eSopenharmony_ci  function stopDTMF(callId: number, callback: AsyncCallback<void>): void;
115861847f8eSopenharmony_ci
115961847f8eSopenharmony_ci  /**
116061847f8eSopenharmony_ci   * Stop DTMF(Dual Tone Multi Frequency).
116161847f8eSopenharmony_ci   *
116261847f8eSopenharmony_ci   * @param { number } callId - Indicates the identifier of the call.
116361847f8eSopenharmony_ci   * @returns { Promise<void> } The promise returned by the stopDTMF.
116461847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
116561847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
116661847f8eSopenharmony_ci   * 2. Incorrect parameters types;
116761847f8eSopenharmony_ci   * @throws { BusinessError } 801 - Capability not supported.
116861847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
116961847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
117061847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
117161847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
117261847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
117361847f8eSopenharmony_ci   * @since 7
117461847f8eSopenharmony_ci   */
117561847f8eSopenharmony_ci  function stopDTMF(callId: number): Promise<void>;
117661847f8eSopenharmony_ci
117761847f8eSopenharmony_ci  /**
117861847f8eSopenharmony_ci   * Continue post-dial DTMF(Dual Tone Multi Frequency).
117961847f8eSopenharmony_ci   *
118061847f8eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
118161847f8eSopenharmony_ci   * @param { number } callId - Indicates the identifier of the call.
118261847f8eSopenharmony_ci   * @param { boolean } proceed - Indicates whether to continue the post-dial DTMF.
118361847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback - The callback of postDialProceed.
118461847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
118561847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
118661847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
118761847f8eSopenharmony_ci   * 2. Incorrect parameters types;
118861847f8eSopenharmony_ci   * @throws { BusinessError } 801 - Capability not supported.
118961847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
119061847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
119161847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
119261847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
119361847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
119461847f8eSopenharmony_ci   * @since 11
119561847f8eSopenharmony_ci   */
119661847f8eSopenharmony_ci  function postDialProceed(callId: number, proceed: boolean, callback: AsyncCallback<void>): void;
119761847f8eSopenharmony_ci
119861847f8eSopenharmony_ci  /**
119961847f8eSopenharmony_ci   * Continue post-dial DTMF(Dual Tone Multi Frequency).
120061847f8eSopenharmony_ci   *
120161847f8eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
120261847f8eSopenharmony_ci   * @param { number } callId - Indicates the identifier of the call.
120361847f8eSopenharmony_ci   * @param { boolean } proceed - Indicates whether to continue the post-dial DTMF.
120461847f8eSopenharmony_ci   * @returns { Promise<void> } The promise returned by the postDialProceed.
120561847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
120661847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
120761847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
120861847f8eSopenharmony_ci   * 2. Incorrect parameters types;
120961847f8eSopenharmony_ci   * @throws { BusinessError } 801 - Capability not supported.
121061847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
121161847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
121261847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
121361847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
121461847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
121561847f8eSopenharmony_ci   * @since 11
121661847f8eSopenharmony_ci   */
121761847f8eSopenharmony_ci  function postDialProceed(callId: number, proceed: boolean): Promise<void>;
121861847f8eSopenharmony_ci
121961847f8eSopenharmony_ci  /**
122061847f8eSopenharmony_ci   * Judge whether the emergency call is in progress.
122161847f8eSopenharmony_ci   *
122261847f8eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
122361847f8eSopenharmony_ci   * @param { AsyncCallback<boolean> } callback - The callback of isInEmergencyCall.
122461847f8eSopenharmony_ci   * Returns {@code true} if the call is in emergency; returns {@code false} otherwise.
122561847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
122661847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
122761847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
122861847f8eSopenharmony_ci   * 2. Incorrect parameters types;
122961847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
123061847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
123161847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
123261847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
123361847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
123461847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
123561847f8eSopenharmony_ci   * @since 7
123661847f8eSopenharmony_ci   */
123761847f8eSopenharmony_ci  function isInEmergencyCall(callback: AsyncCallback<boolean>): void;
123861847f8eSopenharmony_ci
123961847f8eSopenharmony_ci  /**
124061847f8eSopenharmony_ci   * Judge whether the emergency call is in progress.
124161847f8eSopenharmony_ci   *
124261847f8eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
124361847f8eSopenharmony_ci   * @returns { Promise<boolean> } Returns {@code true} if the call is in emergency; returns {@code false} otherwise.
124461847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
124561847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
124661847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
124761847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
124861847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
124961847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
125061847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
125161847f8eSopenharmony_ci   * @since 7
125261847f8eSopenharmony_ci   */
125361847f8eSopenharmony_ci  function isInEmergencyCall(): Promise<boolean>;
125461847f8eSopenharmony_ci
125561847f8eSopenharmony_ci  /**
125661847f8eSopenharmony_ci   * Subscribe to the callDetailsChange event.
125761847f8eSopenharmony_ci   *
125861847f8eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
125961847f8eSopenharmony_ci   * @param { 'callDetailsChange' } type - Event type. Indicates the callDetailsChange event to be subscribed to.
126061847f8eSopenharmony_ci   * @param { Callback<CallAttributeOptions> } callback - Indicates the callback for getting the result of call details.
126161847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
126261847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
126361847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
126461847f8eSopenharmony_ci   * 2. Incorrect parameters types;
126561847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
126661847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
126761847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
126861847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
126961847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
127061847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
127161847f8eSopenharmony_ci   * @since 7
127261847f8eSopenharmony_ci   */
127361847f8eSopenharmony_ci  function on(type: 'callDetailsChange', callback: Callback<CallAttributeOptions>): void;
127461847f8eSopenharmony_ci
127561847f8eSopenharmony_ci  /**
127661847f8eSopenharmony_ci   * Unsubscribe from the callDetailsChange event.
127761847f8eSopenharmony_ci   *
127861847f8eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
127961847f8eSopenharmony_ci   * @param { 'callDetailsChange' } type - Event type. Indicates the callDetailsChange event to unsubscribe from.
128061847f8eSopenharmony_ci   * @param { Callback<CallAttributeOptions> } callback - Indicates the callback to unsubscribe from
128161847f8eSopenharmony_ci   * the callDetailsChange event.
128261847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
128361847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
128461847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
128561847f8eSopenharmony_ci   * 2. Incorrect parameters types;
128661847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
128761847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
128861847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
128961847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
129061847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
129161847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
129261847f8eSopenharmony_ci   * @since 7
129361847f8eSopenharmony_ci   */
129461847f8eSopenharmony_ci  function off(type: 'callDetailsChange', callback?: Callback<CallAttributeOptions>): void;
129561847f8eSopenharmony_ci
129661847f8eSopenharmony_ci  /**
129761847f8eSopenharmony_ci   * Subscribe to the callEventChange event.
129861847f8eSopenharmony_ci   *
129961847f8eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
130061847f8eSopenharmony_ci   * @param { 'callEventChange' } type - Event type. Indicates the callEventChange event to be subscribed to.
130161847f8eSopenharmony_ci   * @param { Callback<CallEventOptions> } callback - Indicates the callback for getting the call event id.
130261847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
130361847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
130461847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
130561847f8eSopenharmony_ci   * 2. Incorrect parameters types;
130661847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
130761847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
130861847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
130961847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
131061847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
131161847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
131261847f8eSopenharmony_ci   * @since 8
131361847f8eSopenharmony_ci   */
131461847f8eSopenharmony_ci  function on(type: 'callEventChange', callback: Callback<CallEventOptions>): void;
131561847f8eSopenharmony_ci
131661847f8eSopenharmony_ci  /**
131761847f8eSopenharmony_ci   * Unsubscribe from the callEventChange event.
131861847f8eSopenharmony_ci   *
131961847f8eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
132061847f8eSopenharmony_ci   * @param { 'callEventChange' } type - Event type. Indicates the callEventChange event to unsubscribe from.
132161847f8eSopenharmony_ci   * @param { Callback<CallEventOptions> } callback - Indicates the callback to unsubscribe from the callEventChange event.
132261847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
132361847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
132461847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
132561847f8eSopenharmony_ci   * 2. Incorrect parameters types;
132661847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
132761847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
132861847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
132961847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
133061847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
133161847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
133261847f8eSopenharmony_ci   * @since 8
133361847f8eSopenharmony_ci   */
133461847f8eSopenharmony_ci  function off(type: 'callEventChange', callback?: Callback<CallEventOptions>): void;
133561847f8eSopenharmony_ci
133661847f8eSopenharmony_ci  /**
133761847f8eSopenharmony_ci   * Subscribe to the callDisconnectedCause event.
133861847f8eSopenharmony_ci   *
133961847f8eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
134061847f8eSopenharmony_ci   * @param { 'callDisconnectedCause' } type - Event type. Indicates the callDisconnectedCause event to be subscribed to.
134161847f8eSopenharmony_ci   * @param { Callback<DisconnectedDetails> } callback - Indicates the callback for getting the call disconnection reason.
134261847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
134361847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
134461847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
134561847f8eSopenharmony_ci   * 2. Incorrect parameters types;
134661847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
134761847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
134861847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
134961847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
135061847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
135161847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
135261847f8eSopenharmony_ci   * @since 8
135361847f8eSopenharmony_ci   */
135461847f8eSopenharmony_ci  function on(type: 'callDisconnectedCause', callback: Callback<DisconnectedDetails>): void;
135561847f8eSopenharmony_ci
135661847f8eSopenharmony_ci  /**
135761847f8eSopenharmony_ci   * Unsubscribe from the callDisconnectedCause event.
135861847f8eSopenharmony_ci   *
135961847f8eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
136061847f8eSopenharmony_ci   * @param { 'callDisconnectedCause' } type - Event type. Indicates the callDisconnectedCause event to unsubscribe from.
136161847f8eSopenharmony_ci   * @param { Callback<DisconnectedDetails> } callback - Indicates the callback used to cancel
136261847f8eSopenharmony_ci   * the registration monitoring for obtaining the call end reason.
136361847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
136461847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
136561847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
136661847f8eSopenharmony_ci   * 2. Incorrect parameters types;
136761847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
136861847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
136961847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
137061847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
137161847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
137261847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
137361847f8eSopenharmony_ci   * @since 8
137461847f8eSopenharmony_ci   */
137561847f8eSopenharmony_ci  function off(type: 'callDisconnectedCause', callback?: Callback<DisconnectedDetails>): void;
137661847f8eSopenharmony_ci
137761847f8eSopenharmony_ci  /**
137861847f8eSopenharmony_ci   * Subscribe to the mmiCodeResult event.
137961847f8eSopenharmony_ci   *
138061847f8eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
138161847f8eSopenharmony_ci   * @param { 'mmiCodeResult' } type - Event type. Indicates the mmiCodeResult event to be subscribed to.
138261847f8eSopenharmony_ci   * @param { Callback<MmiCodeResults> } callback - Indicates the callback for getting the result of MMI code.
138361847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
138461847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
138561847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
138661847f8eSopenharmony_ci   * 2. Incorrect parameters types;
138761847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
138861847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
138961847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
139061847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
139161847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
139261847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
139361847f8eSopenharmony_ci   * @since 9
139461847f8eSopenharmony_ci   */
139561847f8eSopenharmony_ci  function on(type: 'mmiCodeResult', callback: Callback<MmiCodeResults>): void;
139661847f8eSopenharmony_ci
139761847f8eSopenharmony_ci  /**
139861847f8eSopenharmony_ci   * Unsubscribe from the mmiCodeResult event.
139961847f8eSopenharmony_ci   *
140061847f8eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
140161847f8eSopenharmony_ci   * @param { 'mmiCodeResult' } type - Event type. Indicates the mmiCodeResult event to unsubscribe from.
140261847f8eSopenharmony_ci   * @param { Callback<MmiCodeResults> } callback - Indicates the callback used to cancel getting mmicode registered listening.
140361847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
140461847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
140561847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
140661847f8eSopenharmony_ci   * 2. Incorrect parameters types;
140761847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
140861847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
140961847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
141061847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
141161847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
141261847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
141361847f8eSopenharmony_ci   * @since 9
141461847f8eSopenharmony_ci   */
141561847f8eSopenharmony_ci  function off(type: 'mmiCodeResult', callback?: Callback<MmiCodeResults>): void;
141661847f8eSopenharmony_ci
141761847f8eSopenharmony_ci  /**
141861847f8eSopenharmony_ci   * Subscribe to the audioDeviceChange event.
141961847f8eSopenharmony_ci   *
142061847f8eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
142161847f8eSopenharmony_ci   * @param { 'audioDeviceChange' } type - Event type. Indicates the audioDeviceChange event to be subscribed to.
142261847f8eSopenharmony_ci   * @param { Callback<AudioDeviceCallbackInfo> } callback - Indicates the callback for getting the result of Current AudioDevice.
142361847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
142461847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
142561847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
142661847f8eSopenharmony_ci   * 2. Incorrect parameters types;
142761847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
142861847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
142961847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
143061847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
143161847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
143261847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
143361847f8eSopenharmony_ci   * @since 10
143461847f8eSopenharmony_ci   */
143561847f8eSopenharmony_ci  function on(type: 'audioDeviceChange', callback: Callback<AudioDeviceCallbackInfo>): void;
143661847f8eSopenharmony_ci
143761847f8eSopenharmony_ci  /**
143861847f8eSopenharmony_ci   * Unsubscribe from the audioDeviceChange event.
143961847f8eSopenharmony_ci   *
144061847f8eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
144161847f8eSopenharmony_ci   * @param { 'audioDeviceChange' } type - Event type. Indicates the audioDeviceChange event to unsubscribe from.
144261847f8eSopenharmony_ci   * @param { Callback<AudioDeviceCallbackInfo> } callback - Indicates the callback for getting the result of Current AudioDevice.
144361847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
144461847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
144561847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
144661847f8eSopenharmony_ci   * 2. Incorrect parameters types;
144761847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
144861847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
144961847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
145061847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
145161847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
145261847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
145361847f8eSopenharmony_ci   * @since 10
145461847f8eSopenharmony_ci   */
145561847f8eSopenharmony_ci  function off(type: 'audioDeviceChange', callback?: Callback<AudioDeviceCallbackInfo>): void;
145661847f8eSopenharmony_ci
145761847f8eSopenharmony_ci  /**
145861847f8eSopenharmony_ci   * Subscribe to the postDialDelay event.
145961847f8eSopenharmony_ci   *
146061847f8eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
146161847f8eSopenharmony_ci   * @param { 'postDialDelay' } type - Event type. Indicates the postDialDelay event to be subscribed to.
146261847f8eSopenharmony_ci   * @param { Callback<string> } callback - Indicates the callback for getting the result of post-dial string.
146361847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
146461847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
146561847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
146661847f8eSopenharmony_ci   * 2. Incorrect parameters types;
146761847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
146861847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
146961847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
147061847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
147161847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
147261847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
147361847f8eSopenharmony_ci   * @since 11
147461847f8eSopenharmony_ci   */
147561847f8eSopenharmony_ci  function on(type: 'postDialDelay', callback: Callback<string>): void;
147661847f8eSopenharmony_ci
147761847f8eSopenharmony_ci  /**
147861847f8eSopenharmony_ci   * Unsubscribe from the postDialDelay event.
147961847f8eSopenharmony_ci   *
148061847f8eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
148161847f8eSopenharmony_ci   * @param { 'postDialDelay' } type - Event type. Indicates the postDialDelay event to unsubscribe from.
148261847f8eSopenharmony_ci   * @param { Callback<string> } callback - Indicates the callback for getting the result of post-dial string.
148361847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
148461847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
148561847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
148661847f8eSopenharmony_ci   * 2. Incorrect parameters types;
148761847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
148861847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
148961847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
149061847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
149161847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
149261847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
149361847f8eSopenharmony_ci   * @since 11
149461847f8eSopenharmony_ci   */
149561847f8eSopenharmony_ci  function off(type: 'postDialDelay', callback?: Callback<string>): void;
149661847f8eSopenharmony_ci
149761847f8eSopenharmony_ci  /**
149861847f8eSopenharmony_ci   * Judge whether to allow another new call.
149961847f8eSopenharmony_ci   *
150061847f8eSopenharmony_ci   * @param { AsyncCallback<boolean> } callback - The callback of isNewCallAllowed. Returns {@code true} if
150161847f8eSopenharmony_ci   * the device currently allows new calls; returns {@code false} otherwise.
150261847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
150361847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
150461847f8eSopenharmony_ci   * 2. Incorrect parameters types;
150561847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
150661847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
150761847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
150861847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
150961847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
151061847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
151161847f8eSopenharmony_ci   * @since 8
151261847f8eSopenharmony_ci   */
151361847f8eSopenharmony_ci  function isNewCallAllowed(callback: AsyncCallback<boolean>): void;
151461847f8eSopenharmony_ci
151561847f8eSopenharmony_ci  /**
151661847f8eSopenharmony_ci   * Judge whether to allow another new call.
151761847f8eSopenharmony_ci   *
151861847f8eSopenharmony_ci   * @returns { Promise<boolean> } Returns {@code true} If the device currently allows new calls.
151961847f8eSopenharmony_ci   * Returns {@code false} otherwise.
152061847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
152161847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
152261847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
152361847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
152461847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
152561847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
152661847f8eSopenharmony_ci   * @since 8
152761847f8eSopenharmony_ci   */
152861847f8eSopenharmony_ci  function isNewCallAllowed(): Promise<boolean>;
152961847f8eSopenharmony_ci
153061847f8eSopenharmony_ci  /**
153161847f8eSopenharmony_ci   * Split conference call.
153261847f8eSopenharmony_ci   *
153361847f8eSopenharmony_ci   * @param { number } callId - Indicates the identifier of the call.
153461847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback - The callback of separateConference.
153561847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
153661847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
153761847f8eSopenharmony_ci   * 2. Incorrect parameters types;
153861847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
153961847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
154061847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
154161847f8eSopenharmony_ci   * @throws { BusinessError } 8300008 - Conference call is not active.
154261847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
154361847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
154461847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
154561847f8eSopenharmony_ci   * @since 11
154661847f8eSopenharmony_ci   */
154761847f8eSopenharmony_ci  function separateConference(callId: number, callback: AsyncCallback<void>): void;
154861847f8eSopenharmony_ci
154961847f8eSopenharmony_ci  /**
155061847f8eSopenharmony_ci   * Split conference call.
155161847f8eSopenharmony_ci   *
155261847f8eSopenharmony_ci   * @param { number } callId - Indicates the identifier of the call.
155361847f8eSopenharmony_ci   * @returns { Promise<void> } The promise returned by the separateConference.
155461847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
155561847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
155661847f8eSopenharmony_ci   * 2. Incorrect parameters types;
155761847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
155861847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
155961847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
156061847f8eSopenharmony_ci   * @throws { BusinessError } 8300008 - Conference call is not active.
156161847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
156261847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
156361847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
156461847f8eSopenharmony_ci   * @since 11
156561847f8eSopenharmony_ci   */
156661847f8eSopenharmony_ci  function separateConference(callId: number): Promise<void>;
156761847f8eSopenharmony_ci
156861847f8eSopenharmony_ci  /**
156961847f8eSopenharmony_ci   * Get call barring status.
157061847f8eSopenharmony_ci   *
157161847f8eSopenharmony_ci   * @permission ohos.permission.GET_TELEPHONY_STATE
157261847f8eSopenharmony_ci   * @param { number } slotId - Indicates the card slot index number,
157361847f8eSopenharmony_ci   * ranging from 0 to the maximum card slot index number supported by the device.
157461847f8eSopenharmony_ci   * @param { CallRestrictionType } type - Indicates which type of call restriction to obtain.
157561847f8eSopenharmony_ci   * @param { AsyncCallback<RestrictionStatus> } callback - Indicates the callback for getting the call restriction status.
157661847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
157761847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
157861847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
157961847f8eSopenharmony_ci   * 2. Incorrect parameters types;
158061847f8eSopenharmony_ci   * @throws { BusinessError } 801 - Capability not supported.
158161847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
158261847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
158361847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
158461847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
158561847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
158661847f8eSopenharmony_ci   * @since 8
158761847f8eSopenharmony_ci   */
158861847f8eSopenharmony_ci  function getCallRestrictionStatus(slotId: number, type: CallRestrictionType, callback: AsyncCallback<RestrictionStatus>): void;
158961847f8eSopenharmony_ci
159061847f8eSopenharmony_ci  /**
159161847f8eSopenharmony_ci   * Get call barring status.
159261847f8eSopenharmony_ci   *
159361847f8eSopenharmony_ci   * @permission ohos.permission.GET_TELEPHONY_STATE
159461847f8eSopenharmony_ci   * @param { number } slotId - Indicates the card slot index number,
159561847f8eSopenharmony_ci   * ranging from 0 to the maximum card slot index number supported by the device.
159661847f8eSopenharmony_ci   * @param { CallRestrictionType } type - Indicates which type of call restriction to obtain.
159761847f8eSopenharmony_ci   * @returns { Promise<RestrictionStatus> } Returns the call restriction status.
159861847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
159961847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
160061847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
160161847f8eSopenharmony_ci   * 2. Incorrect parameters types;
160261847f8eSopenharmony_ci   * @throws { BusinessError } 801 - Capability not supported.
160361847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
160461847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
160561847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
160661847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
160761847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
160861847f8eSopenharmony_ci   * @since 8
160961847f8eSopenharmony_ci   */
161061847f8eSopenharmony_ci  function getCallRestrictionStatus(slotId: number, type: CallRestrictionType): Promise<RestrictionStatus>;
161161847f8eSopenharmony_ci
161261847f8eSopenharmony_ci  /**
161361847f8eSopenharmony_ci   * Set call barring status.
161461847f8eSopenharmony_ci   *
161561847f8eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
161661847f8eSopenharmony_ci   * @param { number } slotId - Indicates the card slot index number,
161761847f8eSopenharmony_ci   * ranging from 0 to the maximum card slot index number supported by the device.
161861847f8eSopenharmony_ci   * @param { CallRestrictionInfo } info - Indicates the set call restriction information.
161961847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback - The callback of setCallRestriction.
162061847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
162161847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
162261847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
162361847f8eSopenharmony_ci   * 2. Incorrect parameters types;
162461847f8eSopenharmony_ci   * @throws { BusinessError } 801 - Capability not supported.
162561847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
162661847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
162761847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
162861847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
162961847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
163061847f8eSopenharmony_ci   * @since 8
163161847f8eSopenharmony_ci   */
163261847f8eSopenharmony_ci  function setCallRestriction(slotId: number, info: CallRestrictionInfo, callback: AsyncCallback<void>): void;
163361847f8eSopenharmony_ci
163461847f8eSopenharmony_ci  /**
163561847f8eSopenharmony_ci   * Set call barring status.
163661847f8eSopenharmony_ci   *
163761847f8eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
163861847f8eSopenharmony_ci   * @param { number } slotId - Indicates the card slot index number,
163961847f8eSopenharmony_ci   * ranging from 0 to the maximum card slot index number supported by the device.
164061847f8eSopenharmony_ci   * @param { CallRestrictionInfo } info - Indicates the set call restriction information.
164161847f8eSopenharmony_ci   * @returns { Promise<void> } The promise returned by the setCallRestriction.
164261847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
164361847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
164461847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
164561847f8eSopenharmony_ci   * 2. Incorrect parameters types;
164661847f8eSopenharmony_ci   * @throws { BusinessError } 801 - Capability not supported.
164761847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
164861847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
164961847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
165061847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
165161847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
165261847f8eSopenharmony_ci   * @since 8
165361847f8eSopenharmony_ci   */
165461847f8eSopenharmony_ci  function setCallRestriction(slotId: number, info: CallRestrictionInfo): Promise<void>;
165561847f8eSopenharmony_ci
165661847f8eSopenharmony_ci  /**
165761847f8eSopenharmony_ci   * Set call barring password.
165861847f8eSopenharmony_ci   *
165961847f8eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
166061847f8eSopenharmony_ci   * @param { number } slotId - Indicates the card slot index number,
166161847f8eSopenharmony_ci   * ranging from 0 to the maximum card slot index number supported by the device.
166261847f8eSopenharmony_ci   * @param { string } oldPassword - Indicates the call restriction old password.
166361847f8eSopenharmony_ci   * @param { string } newPassword - Indicates the call restriction new password.
166461847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback - The callback of setCallRestrictionPassword.
166561847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
166661847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
166761847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
166861847f8eSopenharmony_ci   * 2. Incorrect parameters types;
166961847f8eSopenharmony_ci   * @throws { BusinessError } 801 - Capability not supported.
167061847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
167161847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
167261847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
167361847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
167461847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
167561847f8eSopenharmony_ci   * @since 10
167661847f8eSopenharmony_ci   */
167761847f8eSopenharmony_ci  function setCallRestrictionPassword(slotId: number, oldPassword: string, newPassword: string, callback: AsyncCallback<void>): void;
167861847f8eSopenharmony_ci
167961847f8eSopenharmony_ci  /**
168061847f8eSopenharmony_ci   * Set call barring password.
168161847f8eSopenharmony_ci   *
168261847f8eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
168361847f8eSopenharmony_ci   * @param { number } slotId - Indicates the card slot index number,
168461847f8eSopenharmony_ci   * ranging from 0 to the maximum card slot index number supported by the device.
168561847f8eSopenharmony_ci   * @param { string } oldPassword - Indicates the call restriction old password.
168661847f8eSopenharmony_ci   * @param { string } newPassword - Indicates the call restriction new password.
168761847f8eSopenharmony_ci   * @returns { Promise<void> } The promise returned by the setCallRestrictionPassword.
168861847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
168961847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
169061847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
169161847f8eSopenharmony_ci   * 2. Incorrect parameters types;
169261847f8eSopenharmony_ci   * @throws { BusinessError } 801 - Capability not supported.
169361847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
169461847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
169561847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
169661847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
169761847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
169861847f8eSopenharmony_ci   * @since 10
169961847f8eSopenharmony_ci   */
170061847f8eSopenharmony_ci  function setCallRestrictionPassword(slotId: number, oldPassword: string, newPassword: string): Promise<void>;
170161847f8eSopenharmony_ci
170261847f8eSopenharmony_ci  /**
170361847f8eSopenharmony_ci   * Get call forwarding information.
170461847f8eSopenharmony_ci   *
170561847f8eSopenharmony_ci   * @permission ohos.permission.GET_TELEPHONY_STATE
170661847f8eSopenharmony_ci   * @param { number } slotId - Indicates the card slot index number,
170761847f8eSopenharmony_ci   * ranging from 0 to the maximum card slot index number supported by the device.
170861847f8eSopenharmony_ci   * @param { CallTransferType } type - Indicates which type of call forwarding to obtain.
170961847f8eSopenharmony_ci   * @param { AsyncCallback<CallTransferResult> } callback - Indicates the callback for getting the call forwarding status.
171061847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
171161847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
171261847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
171361847f8eSopenharmony_ci   * 2. Incorrect parameters types;
171461847f8eSopenharmony_ci   * @throws { BusinessError } 801 - Capability not supported.
171561847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
171661847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
171761847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
171861847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
171961847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
172061847f8eSopenharmony_ci   * @since 8
172161847f8eSopenharmony_ci   */
172261847f8eSopenharmony_ci  function getCallTransferInfo(slotId: number, type: CallTransferType, callback: AsyncCallback<CallTransferResult>): void;
172361847f8eSopenharmony_ci
172461847f8eSopenharmony_ci  /**
172561847f8eSopenharmony_ci   * Get call forwarding information.
172661847f8eSopenharmony_ci   *
172761847f8eSopenharmony_ci   * @permission ohos.permission.GET_TELEPHONY_STATE
172861847f8eSopenharmony_ci   * @param { number } slotId - Indicates the card slot index number,
172961847f8eSopenharmony_ci   * ranging from 0 to the maximum card slot index number supported by the device.
173061847f8eSopenharmony_ci   * @param { CallTransferType } type - Indicates which type of call forwarding to obtain.
173161847f8eSopenharmony_ci   * @returns { Promise<CallTransferResult> } Returns the call forwarding status.
173261847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
173361847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
173461847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
173561847f8eSopenharmony_ci   * 2. Incorrect parameters types;
173661847f8eSopenharmony_ci   * @throws { BusinessError } 801 - Capability not supported.
173761847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
173861847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
173961847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
174061847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
174161847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
174261847f8eSopenharmony_ci   * @since 8
174361847f8eSopenharmony_ci   */
174461847f8eSopenharmony_ci  function getCallTransferInfo(slotId: number, type: CallTransferType): Promise<CallTransferResult>;
174561847f8eSopenharmony_ci
174661847f8eSopenharmony_ci  /**
174761847f8eSopenharmony_ci   * Set call forwarding information.
174861847f8eSopenharmony_ci   *
174961847f8eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
175061847f8eSopenharmony_ci   * @param { number } slotId - Indicates the card slot index number,
175161847f8eSopenharmony_ci   * ranging from 0 to the maximum card slot index number supported by the device.
175261847f8eSopenharmony_ci   * @param { CallTransferInfo } info - Indicates the set call forwarding information.
175361847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback - The callback of setCallTransfer.
175461847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
175561847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
175661847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
175761847f8eSopenharmony_ci   * 2. Incorrect parameters types;
175861847f8eSopenharmony_ci   * @throws { BusinessError } 801 - Capability not supported.
175961847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
176061847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
176161847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
176261847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
176361847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
176461847f8eSopenharmony_ci   * @since 8
176561847f8eSopenharmony_ci   */
176661847f8eSopenharmony_ci  function setCallTransfer(slotId: number, info: CallTransferInfo, callback: AsyncCallback<void>): void;
176761847f8eSopenharmony_ci
176861847f8eSopenharmony_ci  /**
176961847f8eSopenharmony_ci   * Set call forwarding information.
177061847f8eSopenharmony_ci   *
177161847f8eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
177261847f8eSopenharmony_ci   * @param { number } slotId - Indicates the card slot index number,
177361847f8eSopenharmony_ci   * ranging from 0 to the maximum card slot index number supported by the device.
177461847f8eSopenharmony_ci   * @param { CallTransferInfo } info - Indicates the set call forwarding information.
177561847f8eSopenharmony_ci   * @returns { Promise<void> } The promise returned by the setCallTransfer.
177661847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
177761847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
177861847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
177961847f8eSopenharmony_ci   * 2. Incorrect parameters types;
178061847f8eSopenharmony_ci   * @throws { BusinessError } 801 - Capability not supported.
178161847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
178261847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
178361847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
178461847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
178561847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
178661847f8eSopenharmony_ci   * @since 8
178761847f8eSopenharmony_ci   */
178861847f8eSopenharmony_ci  function setCallTransfer(slotId: number, info: CallTransferInfo): Promise<void>;
178961847f8eSopenharmony_ci
179061847f8eSopenharmony_ci  /**
179161847f8eSopenharmony_ci   * Judge whether there is a ringing call.
179261847f8eSopenharmony_ci   *
179361847f8eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
179461847f8eSopenharmony_ci   * @param { AsyncCallback<boolean> } callback - The callback of isRinging.
179561847f8eSopenharmony_ci   * Returns {@code true} if the device is ringing; returns {@code false} otherwise.
179661847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
179761847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
179861847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
179961847f8eSopenharmony_ci   * 2. Incorrect parameters types;
180061847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
180161847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
180261847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
180361847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
180461847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
180561847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
180661847f8eSopenharmony_ci   * @since 8
180761847f8eSopenharmony_ci   */
180861847f8eSopenharmony_ci  function isRinging(callback: AsyncCallback<boolean>): void;
180961847f8eSopenharmony_ci
181061847f8eSopenharmony_ci  /**
181161847f8eSopenharmony_ci   * Judge whether there is a ringing call.
181261847f8eSopenharmony_ci   *
181361847f8eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
181461847f8eSopenharmony_ci   * @returns { Promise<boolean> } Returns {@code true} if the device is ringing; returns {@code false} otherwise.
181561847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
181661847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
181761847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
181861847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
181961847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
182061847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
182161847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
182261847f8eSopenharmony_ci   * @since 8
182361847f8eSopenharmony_ci   */
182461847f8eSopenharmony_ci  function isRinging(): Promise<boolean>;
182561847f8eSopenharmony_ci
182661847f8eSopenharmony_ci  /**
182761847f8eSopenharmony_ci   * Set mute during a call.
182861847f8eSopenharmony_ci   *
182961847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback - The callback of setMuted.
183061847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
183161847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
183261847f8eSopenharmony_ci   * 2. Incorrect parameters types;
183361847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
183461847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
183561847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
183661847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
183761847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
183861847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
183961847f8eSopenharmony_ci   * @since 8
184061847f8eSopenharmony_ci   */
184161847f8eSopenharmony_ci  function setMuted(callback: AsyncCallback<void>): void;
184261847f8eSopenharmony_ci
184361847f8eSopenharmony_ci  /**
184461847f8eSopenharmony_ci   * Set mute during a call.
184561847f8eSopenharmony_ci   *
184661847f8eSopenharmony_ci   * @returns { Promise<void> } The promise returned by the setMuted.
184761847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
184861847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
184961847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
185061847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
185161847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
185261847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
185361847f8eSopenharmony_ci   * @since 8
185461847f8eSopenharmony_ci   */
185561847f8eSopenharmony_ci  function setMuted(): Promise<void>;
185661847f8eSopenharmony_ci
185761847f8eSopenharmony_ci  /**
185861847f8eSopenharmony_ci   * Unmute during a call.
185961847f8eSopenharmony_ci   *
186061847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback - The callback of cancelMuted.
186161847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
186261847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
186361847f8eSopenharmony_ci   * 2. Incorrect parameters types;
186461847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
186561847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
186661847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
186761847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
186861847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
186961847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
187061847f8eSopenharmony_ci   * @since 8
187161847f8eSopenharmony_ci   */
187261847f8eSopenharmony_ci  function cancelMuted(callback: AsyncCallback<void>): void;
187361847f8eSopenharmony_ci
187461847f8eSopenharmony_ci  /**
187561847f8eSopenharmony_ci   * Unmute during a call.
187661847f8eSopenharmony_ci   *
187761847f8eSopenharmony_ci   * @returns { Promise<void> } The promise returned by the cancelMuted.
187861847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
187961847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
188061847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
188161847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
188261847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
188361847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
188461847f8eSopenharmony_ci   * @since 8
188561847f8eSopenharmony_ci   */
188661847f8eSopenharmony_ci  function cancelMuted(): Promise<void>;
188761847f8eSopenharmony_ci
188861847f8eSopenharmony_ci  /**
188961847f8eSopenharmony_ci   * Set the audio device.
189061847f8eSopenharmony_ci   *
189161847f8eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
189261847f8eSopenharmony_ci   * @param { AudioDevice } device - Indicates the device of audio.
189361847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback - The callback of setAudioDevice.
189461847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
189561847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
189661847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
189761847f8eSopenharmony_ci   * 2. Incorrect parameters types;
189861847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
189961847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
190061847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
190161847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
190261847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
190361847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
190461847f8eSopenharmony_ci   * @since 8
190561847f8eSopenharmony_ci   */
190661847f8eSopenharmony_ci  function setAudioDevice(device: AudioDevice, callback: AsyncCallback<void>): void;
190761847f8eSopenharmony_ci
190861847f8eSopenharmony_ci  /**
190961847f8eSopenharmony_ci   * Set the audio device.
191061847f8eSopenharmony_ci   *
191161847f8eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
191261847f8eSopenharmony_ci   * @param { AudioDevice } device - Indicates the device of audio.
191361847f8eSopenharmony_ci   * @returns { Promise<void> } The promise returned by the setAudioDevice.
191461847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
191561847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
191661847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
191761847f8eSopenharmony_ci   * 2. Incorrect parameters types;
191861847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
191961847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
192061847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
192161847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
192261847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
192361847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
192461847f8eSopenharmony_ci   * @since 10
192561847f8eSopenharmony_ci   */
192661847f8eSopenharmony_ci  function setAudioDevice(device: AudioDevice): Promise<void>;
192761847f8eSopenharmony_ci
192861847f8eSopenharmony_ci  /**
192961847f8eSopenharmony_ci   * Join the conference call.
193061847f8eSopenharmony_ci   *
193161847f8eSopenharmony_ci   * @param { number } mainCallId - Indicates the identifier of the main call.
193261847f8eSopenharmony_ci   * @param { Array<string> } callNumberList - Indicates a call list.
193361847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback - The callback of joinConference.
193461847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
193561847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
193661847f8eSopenharmony_ci   * 2. Incorrect parameters types;
193761847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
193861847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
193961847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
194061847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
194161847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
194261847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
194361847f8eSopenharmony_ci   * @since 8
194461847f8eSopenharmony_ci   */
194561847f8eSopenharmony_ci  function joinConference(mainCallId: number, callNumberList: Array<string>, callback: AsyncCallback<void>): void;
194661847f8eSopenharmony_ci
194761847f8eSopenharmony_ci  /**
194861847f8eSopenharmony_ci   * Join the conference call.
194961847f8eSopenharmony_ci   *
195061847f8eSopenharmony_ci   * @param { number } mainCallId - Indicates the identifier of the main call.
195161847f8eSopenharmony_ci   * @param { Array<string> } callNumberList - Indicates a call list.
195261847f8eSopenharmony_ci   * @returns { Promise<void> } The promise returned by the joinConference.
195361847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
195461847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
195561847f8eSopenharmony_ci   * 2. Incorrect parameters types;
195661847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
195761847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
195861847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
195961847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
196061847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
196161847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
196261847f8eSopenharmony_ci   * @since 8
196361847f8eSopenharmony_ci   */
196461847f8eSopenharmony_ci  function joinConference(mainCallId: number, callNumberList: Array<string>): Promise<void>;
196561847f8eSopenharmony_ci
196661847f8eSopenharmony_ci  /**
196761847f8eSopenharmony_ci   * Kick out call from the conference call.
196861847f8eSopenharmony_ci   *
196961847f8eSopenharmony_ci   * @permission ohos.permission.PLACE_CALL
197061847f8eSopenharmony_ci   * @param { number } callId - Indicates the identifier of the call which kick out.
197161847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback - The callback of kickOutFromConference.
197261847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
197361847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
197461847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
197561847f8eSopenharmony_ci   * 2. Incorrect parameters types;
197661847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
197761847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
197861847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
197961847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
198061847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
198161847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
198261847f8eSopenharmony_ci   * @since 10
198361847f8eSopenharmony_ci   */
198461847f8eSopenharmony_ci  function kickOutFromConference(callId: number, callback: AsyncCallback<void>): void;
198561847f8eSopenharmony_ci
198661847f8eSopenharmony_ci  /**
198761847f8eSopenharmony_ci   * Kick out call from the conference call.
198861847f8eSopenharmony_ci   *
198961847f8eSopenharmony_ci   * @permission ohos.permission.PLACE_CALL
199061847f8eSopenharmony_ci   * @param { number } callId - Indicates the identifier of the call which kick out.
199161847f8eSopenharmony_ci   * @returns { Promise<void> } The promise returned by the kickOutFromConference.
199261847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
199361847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
199461847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
199561847f8eSopenharmony_ci   * 2. Incorrect parameters types;
199661847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
199761847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
199861847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
199961847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
200061847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
200161847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
200261847f8eSopenharmony_ci   * @since 10
200361847f8eSopenharmony_ci   */
200461847f8eSopenharmony_ci  function kickOutFromConference(callId: number): Promise<void>;
200561847f8eSopenharmony_ci
200661847f8eSopenharmony_ci  /**
200761847f8eSopenharmony_ci   * Update Ims call mode.
200861847f8eSopenharmony_ci   *
200961847f8eSopenharmony_ci   * @param { number } callId - Indicates the identifier of the call.
201061847f8eSopenharmony_ci   * @param { ImsCallMode } mode - Indicates the mode of the ims call.
201161847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback - The callback of updateImsCallMode.
201261847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
201361847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
201461847f8eSopenharmony_ci   * 2. Incorrect parameters types;
201561847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
201661847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
201761847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
201861847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
201961847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
202061847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
202161847f8eSopenharmony_ci   * @since 8
202261847f8eSopenharmony_ci   */
202361847f8eSopenharmony_ci  function updateImsCallMode(callId: number, mode: ImsCallMode, callback: AsyncCallback<void>): void;
202461847f8eSopenharmony_ci
202561847f8eSopenharmony_ci  /**
202661847f8eSopenharmony_ci   * Update Ims call mode.
202761847f8eSopenharmony_ci   *
202861847f8eSopenharmony_ci   * @param { number } callId - Indicates the identifier of the call.
202961847f8eSopenharmony_ci   * @param { ImsCallMode } mode - Indicates the mode of the ims call.
203061847f8eSopenharmony_ci   * @returns { Promise<void> } The promise returned by the updateImsCallMode.
203161847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
203261847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
203361847f8eSopenharmony_ci   * 2. Incorrect parameters types;
203461847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
203561847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
203661847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
203761847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
203861847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
203961847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
204061847f8eSopenharmony_ci   * @since 8
204161847f8eSopenharmony_ci   */
204261847f8eSopenharmony_ci  function updateImsCallMode(callId: number, mode: ImsCallMode): Promise<void>;
204361847f8eSopenharmony_ci
204461847f8eSopenharmony_ci  /**
204561847f8eSopenharmony_ci   * Cancel call upgrade when voice call upgrade to video call.
204661847f8eSopenharmony_ci   *
204761847f8eSopenharmony_ci   * @permission ohos.permission.PLACE_CALL
204861847f8eSopenharmony_ci   * @param { number } callId - Indicates the identifier of the call.
204961847f8eSopenharmony_ci   * @returns { Promise<void> } The promise returned by the cancelCallUpgrade.
205061847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
205161847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
205261847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
205361847f8eSopenharmony_ci   * 2. Incorrect parameters types;
205461847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
205561847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
205661847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
205761847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
205861847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
205961847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
206061847f8eSopenharmony_ci   * @since 11
206161847f8eSopenharmony_ci   */
206261847f8eSopenharmony_ci  function cancelCallUpgrade(callId: number): Promise<void>;
206361847f8eSopenharmony_ci
206461847f8eSopenharmony_ci  /**
206561847f8eSopenharmony_ci   * Control camera to open/close/switch camera by cameraId when video call.
206661847f8eSopenharmony_ci   *
206761847f8eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
206861847f8eSopenharmony_ci   * @param { number } callId - Indicates the identifier of the call.
206961847f8eSopenharmony_ci   * @param { string } cameraId - Indicates the identifier of the camera id.
207061847f8eSopenharmony_ci   * @returns { Promise<void> } The promise returned by the controlCamera.
207161847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
207261847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
207361847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
207461847f8eSopenharmony_ci   * 2. Incorrect parameters types;
207561847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
207661847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
207761847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
207861847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
207961847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
208061847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
208161847f8eSopenharmony_ci   * @since 11
208261847f8eSopenharmony_ci   */
208361847f8eSopenharmony_ci  function controlCamera(callId: number, cameraId: string): Promise<void>;
208461847f8eSopenharmony_ci
208561847f8eSopenharmony_ci  /**
208661847f8eSopenharmony_ci   * Set preview surface when video call.
208761847f8eSopenharmony_ci   *
208861847f8eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
208961847f8eSopenharmony_ci   * @param { number } callId - Indicates the identifier of the call.
209061847f8eSopenharmony_ci   * @param { string } surfaceId - Indicates the identifier of the preview surface id.
209161847f8eSopenharmony_ci   * @returns { Promise<void> } The promise returned by the setPreviewWindow.
209261847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
209361847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
209461847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
209561847f8eSopenharmony_ci   * 2. Incorrect parameters types;
209661847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
209761847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
209861847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
209961847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
210061847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
210161847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
210261847f8eSopenharmony_ci   * @since 11
210361847f8eSopenharmony_ci   */
210461847f8eSopenharmony_ci  function setPreviewSurface(callId: number, surfaceId: string): Promise<void>;
210561847f8eSopenharmony_ci
210661847f8eSopenharmony_ci  /**
210761847f8eSopenharmony_ci   * Set display surface when video call.
210861847f8eSopenharmony_ci   *
210961847f8eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
211061847f8eSopenharmony_ci   * @param { number } callId - Indicates the identifier of the call.
211161847f8eSopenharmony_ci   * @param { string } surfaceId - Indicates the identifier of the display surface id.
211261847f8eSopenharmony_ci   * @returns { Promise<void> } The promise returned by the setDisplayWindow.
211361847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
211461847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
211561847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
211661847f8eSopenharmony_ci   * 2. Incorrect parameters types;
211761847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
211861847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
211961847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
212061847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
212161847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
212261847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
212361847f8eSopenharmony_ci   * @since 11
212461847f8eSopenharmony_ci   */
212561847f8eSopenharmony_ci  function setDisplaySurface(callId: number, surfaceId: string): Promise<void>;
212661847f8eSopenharmony_ci
212761847f8eSopenharmony_ci  /**
212861847f8eSopenharmony_ci   * Set device direction when video call.
212961847f8eSopenharmony_ci   *
213061847f8eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
213161847f8eSopenharmony_ci   * @param { number } callId - Indicates the identifier of the call.
213261847f8eSopenharmony_ci   * @param { DeviceDirection } deviceDirection - Indicates the identifier of the direction for the display.
213361847f8eSopenharmony_ci   * @returns { Promise<void> } The promise returned by the setDeviceDirection.
213461847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
213561847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
213661847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
213761847f8eSopenharmony_ci   * 2. Incorrect parameters types;
213861847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
213961847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
214061847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
214161847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
214261847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
214361847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
214461847f8eSopenharmony_ci   * @since 11
214561847f8eSopenharmony_ci   */
214661847f8eSopenharmony_ci  function setDeviceDirection(callId: number, deviceDirection: DeviceDirection): Promise<void>;
214761847f8eSopenharmony_ci
214861847f8eSopenharmony_ci  /**
214961847f8eSopenharmony_ci   * Subscribe to the imsCallModeChange event.
215061847f8eSopenharmony_ci   *
215161847f8eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
215261847f8eSopenharmony_ci   * @param { 'imsCallModeChange' } type - Event type. Indicates the imsCallModeChange event to be subscribed to.
215361847f8eSopenharmony_ci   * @param { Callback<ImsCallModeInfo> } callback - Indicates the callback for
215461847f8eSopenharmony_ci   * getting the result of ImsCallModeInfo details.
215561847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
215661847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
215761847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
215861847f8eSopenharmony_ci   * 2. Incorrect parameters types;
215961847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
216061847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
216161847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
216261847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
216361847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
216461847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
216561847f8eSopenharmony_ci   * @since 11
216661847f8eSopenharmony_ci   */
216761847f8eSopenharmony_ci  function on(type: 'imsCallModeChange', callback: Callback<ImsCallModeInfo>): void;
216861847f8eSopenharmony_ci
216961847f8eSopenharmony_ci  /**
217061847f8eSopenharmony_ci   * Unsubscribe from the imsCallModeChange event.
217161847f8eSopenharmony_ci   *
217261847f8eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
217361847f8eSopenharmony_ci   * @param { 'imsCallModeChange' } type - Event type. Indicates the imsCallModeChange event to unsubscribe from.
217461847f8eSopenharmony_ci   * @param { Callback<ImsCallModeInfo> } callback - Indicates the callback to unsubscribe from
217561847f8eSopenharmony_ci   * the imsCallModeChange event.
217661847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
217761847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
217861847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
217961847f8eSopenharmony_ci   * 2. Incorrect parameters types;
218061847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
218161847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
218261847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
218361847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
218461847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
218561847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
218661847f8eSopenharmony_ci   * @since 11
218761847f8eSopenharmony_ci   */
218861847f8eSopenharmony_ci  function off(type: 'imsCallModeChange', callback?: Callback<ImsCallModeInfo>): void;
218961847f8eSopenharmony_ci
219061847f8eSopenharmony_ci  /**
219161847f8eSopenharmony_ci   * Subscribe to the callSessionEvent.
219261847f8eSopenharmony_ci   *
219361847f8eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
219461847f8eSopenharmony_ci   * @param { 'callSessionEvent' } type - Event type. Indicates the callSessionEvent
219561847f8eSopenharmony_ci   * event to be subscribed to.
219661847f8eSopenharmony_ci   * @param { Callback<CallSessionEvent> } callback - Indicates the callback for
219761847f8eSopenharmony_ci   * getting the result of CallSessionEvent.
219861847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
219961847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
220061847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
220161847f8eSopenharmony_ci   * 2. Incorrect parameters types;
220261847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
220361847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
220461847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
220561847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
220661847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
220761847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
220861847f8eSopenharmony_ci   * @since 11
220961847f8eSopenharmony_ci   */
221061847f8eSopenharmony_ci  function on(type: 'callSessionEvent', callback: Callback<CallSessionEvent>): void;
221161847f8eSopenharmony_ci
221261847f8eSopenharmony_ci  /**
221361847f8eSopenharmony_ci   * Unsubscribe from the callSessionEvent.
221461847f8eSopenharmony_ci   *
221561847f8eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
221661847f8eSopenharmony_ci   * @param { 'callSessionEvent' } type - Event type. Indicates the callSessionEventChange event to
221761847f8eSopenharmony_ci   * unsubscribe from.
221861847f8eSopenharmony_ci   * @param { Callback<CallSessionEvent> } callback - Indicates the callback to unsubscribe from
221961847f8eSopenharmony_ci   * the CallSessionEvent event.
222061847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
222161847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
222261847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
222361847f8eSopenharmony_ci   * 2. Incorrect parameters types;
222461847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
222561847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
222661847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
222761847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
222861847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
222961847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
223061847f8eSopenharmony_ci   * @since 11
223161847f8eSopenharmony_ci   */
223261847f8eSopenharmony_ci  function off(type: 'callSessionEvent', callback?: Callback<CallSessionEvent>): void;
223361847f8eSopenharmony_ci
223461847f8eSopenharmony_ci  /**
223561847f8eSopenharmony_ci   * Subscribe to the peerDimensionsChange event.
223661847f8eSopenharmony_ci   *
223761847f8eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
223861847f8eSopenharmony_ci   * @param { 'peerDimensionsChange' } type - Event type. Indicates the peerDimensionsChange event
223961847f8eSopenharmony_ci   * to be subscribed to.
224061847f8eSopenharmony_ci   * @param { Callback<PeerDimensionsDetail> } callback - Indicates the callback for
224161847f8eSopenharmony_ci   * getting the result of PeerDimensionsDetail details.
224261847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
224361847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
224461847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
224561847f8eSopenharmony_ci   * 2. Incorrect parameters types;
224661847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
224761847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
224861847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
224961847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
225061847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
225161847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
225261847f8eSopenharmony_ci   * @since 11
225361847f8eSopenharmony_ci   */
225461847f8eSopenharmony_ci  function on(type: 'peerDimensionsChange', callback: Callback<PeerDimensionsDetail>): void;
225561847f8eSopenharmony_ci
225661847f8eSopenharmony_ci  /**
225761847f8eSopenharmony_ci   * Unsubscribe from the peerDimensionsChange event.
225861847f8eSopenharmony_ci   *
225961847f8eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
226061847f8eSopenharmony_ci   * @param { 'peerDimensionsChange' } type - Event type. Indicates the peerDimensionsChange event to
226161847f8eSopenharmony_ci   * unsubscribe from.
226261847f8eSopenharmony_ci   * @param { Callback<PeerDimensionsDetail> } callback - Indicates the callback to unsubscribe from
226361847f8eSopenharmony_ci   * peerDimensionsChange event.
226461847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
226561847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
226661847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
226761847f8eSopenharmony_ci   * 2. Incorrect parameters types;
226861847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
226961847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
227061847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
227161847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
227261847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
227361847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
227461847f8eSopenharmony_ci   * @since 11
227561847f8eSopenharmony_ci   */
227661847f8eSopenharmony_ci  function off(type: 'peerDimensionsChange', callback?: Callback<PeerDimensionsDetail>): void;
227761847f8eSopenharmony_ci
227861847f8eSopenharmony_ci  /**
227961847f8eSopenharmony_ci   * Subscribe to the cameraCapabilitiesChange event.
228061847f8eSopenharmony_ci   *
228161847f8eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
228261847f8eSopenharmony_ci   * @param { 'cameraCapabilitiesChange' } type - Event type. Indicates the cameraCapabilitiesChange event
228361847f8eSopenharmony_ci   * to be subscribed to.
228461847f8eSopenharmony_ci   * @param { Callback<CameraCapabilities> } callback - Indicates the callback for
228561847f8eSopenharmony_ci   * getting the result of CameraCapabilities details.
228661847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
228761847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
228861847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
228961847f8eSopenharmony_ci   * 2. Incorrect parameters types;
229061847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
229161847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
229261847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
229361847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
229461847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
229561847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
229661847f8eSopenharmony_ci   * @since 11
229761847f8eSopenharmony_ci   */
229861847f8eSopenharmony_ci  function on(type: 'cameraCapabilitiesChange', callback: Callback<CameraCapabilities>): void;
229961847f8eSopenharmony_ci
230061847f8eSopenharmony_ci  /**
230161847f8eSopenharmony_ci   * Unsubscribe from the cameraCapabilitiesChange event.
230261847f8eSopenharmony_ci   *
230361847f8eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
230461847f8eSopenharmony_ci   * @param { 'cameraCapabilitiesChange' } type - Event type. Indicates the cameraCapabilitiesChange event
230561847f8eSopenharmony_ci   * to unsubscribe from.
230661847f8eSopenharmony_ci   * @param { Callback<CameraCapabilities> } callback - Indicates the callback to unsubscribe from
230761847f8eSopenharmony_ci   * cameraCapabilitiesChange event.
230861847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
230961847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
231061847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
231161847f8eSopenharmony_ci   * 2. Incorrect parameters types;
231261847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
231361847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
231461847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
231561847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
231661847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
231761847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
231861847f8eSopenharmony_ci   * @since 11
231961847f8eSopenharmony_ci   */
232061847f8eSopenharmony_ci  function off(type: 'cameraCapabilitiesChange', callback?: Callback<CameraCapabilities>): void;
232161847f8eSopenharmony_ci
232261847f8eSopenharmony_ci  /**
232361847f8eSopenharmony_ci   * Turn on Ims switch.
232461847f8eSopenharmony_ci   *
232561847f8eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
232661847f8eSopenharmony_ci   * @param { number } slotId - Indicates the card slot index number,
232761847f8eSopenharmony_ci   * ranging from 0 to the maximum card slot index number supported by the device.
232861847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback - The callback of enableImsSwitch.
232961847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
233061847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
233161847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
233261847f8eSopenharmony_ci   * 2. Incorrect parameters types;
233361847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
233461847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
233561847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
233661847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
233761847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
233861847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
233961847f8eSopenharmony_ci   * @since 8
234061847f8eSopenharmony_ci   */
234161847f8eSopenharmony_ci  function enableImsSwitch(slotId: number, callback: AsyncCallback<void>): void;
234261847f8eSopenharmony_ci
234361847f8eSopenharmony_ci  /**
234461847f8eSopenharmony_ci   * Turn on Ims switch.
234561847f8eSopenharmony_ci   *
234661847f8eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
234761847f8eSopenharmony_ci   * @param { number } slotId - Indicates the card slot index number,
234861847f8eSopenharmony_ci   * ranging from 0 to the maximum card slot index number supported by the device.
234961847f8eSopenharmony_ci   * @returns { Promise<void> } The promise returned by the enableImsSwitch.
235061847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
235161847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
235261847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
235361847f8eSopenharmony_ci   * 2. Incorrect parameters types;
235461847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
235561847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
235661847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
235761847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
235861847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
235961847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
236061847f8eSopenharmony_ci   * @since 8
236161847f8eSopenharmony_ci   */
236261847f8eSopenharmony_ci  function enableImsSwitch(slotId: number): Promise<void>;
236361847f8eSopenharmony_ci
236461847f8eSopenharmony_ci  /**
236561847f8eSopenharmony_ci   * Turn off Ims switch.
236661847f8eSopenharmony_ci   *
236761847f8eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
236861847f8eSopenharmony_ci   * @param { number } slotId - Indicates the card slot index number,
236961847f8eSopenharmony_ci   * ranging from 0 to the maximum card slot index number supported by the device.
237061847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback - The callback of disableImsSwitch.
237161847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
237261847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
237361847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
237461847f8eSopenharmony_ci   * 2. Incorrect parameters types;
237561847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
237661847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
237761847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
237861847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
237961847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
238061847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
238161847f8eSopenharmony_ci   * @since 8
238261847f8eSopenharmony_ci   */
238361847f8eSopenharmony_ci  function disableImsSwitch(slotId: number, callback: AsyncCallback<void>): void;
238461847f8eSopenharmony_ci
238561847f8eSopenharmony_ci  /**
238661847f8eSopenharmony_ci   * Turn off Ims switch.
238761847f8eSopenharmony_ci   *
238861847f8eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
238961847f8eSopenharmony_ci   * @param { number } slotId - Indicates the card slot index number,
239061847f8eSopenharmony_ci   * ranging from 0 to the maximum card slot index number supported by the device.
239161847f8eSopenharmony_ci   * @returns { Promise<void> } The promise returned by the disableImsSwitch.
239261847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
239361847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
239461847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
239561847f8eSopenharmony_ci   * 2. Incorrect parameters types;
239661847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
239761847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
239861847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
239961847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
240061847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
240161847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
240261847f8eSopenharmony_ci   * @since 8
240361847f8eSopenharmony_ci   */
240461847f8eSopenharmony_ci  function disableImsSwitch(slotId: number): Promise<void>;
240561847f8eSopenharmony_ci
240661847f8eSopenharmony_ci  /**
240761847f8eSopenharmony_ci   * Judge whether the Ims switch is enabled.
240861847f8eSopenharmony_ci   *
240961847f8eSopenharmony_ci   * @param { number } slotId - Indicates the card slot index number,
241061847f8eSopenharmony_ci   * ranging from 0 to the maximum card slot index number supported by the device.
241161847f8eSopenharmony_ci   * @param { AsyncCallback<boolean> } callback - The callback of isImsSwitchEnabled.
241261847f8eSopenharmony_ci   * Returns {@code true} If the ims switch is on; returns {@code false} otherwise.
241361847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
241461847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
241561847f8eSopenharmony_ci   * 2. Incorrect parameters types;
241661847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
241761847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
241861847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
241961847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
242061847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
242161847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
242261847f8eSopenharmony_ci   * @since 8
242361847f8eSopenharmony_ci   */
242461847f8eSopenharmony_ci  function isImsSwitchEnabled(slotId: number, callback: AsyncCallback<boolean>): void;
242561847f8eSopenharmony_ci
242661847f8eSopenharmony_ci  /**
242761847f8eSopenharmony_ci   * Judge whether the Ims switch is enabled.
242861847f8eSopenharmony_ci   *
242961847f8eSopenharmony_ci   * @param { number } slotId - Indicates the card slot index number,
243061847f8eSopenharmony_ci   * ranging from 0 to the maximum card slot index number supported by the device.
243161847f8eSopenharmony_ci   * @returns { Promise<boolean> } Returns {@code true} If the ims switch is on; returns {@code false} otherwise.
243261847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
243361847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
243461847f8eSopenharmony_ci   * 2. Incorrect parameters types;
243561847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
243661847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
243761847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
243861847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
243961847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
244061847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
244161847f8eSopenharmony_ci   * @since 8
244261847f8eSopenharmony_ci   */
244361847f8eSopenharmony_ci  function isImsSwitchEnabled(slotId: number): Promise<boolean>;
244461847f8eSopenharmony_ci
244561847f8eSopenharmony_ci  /**
244661847f8eSopenharmony_ci   * Judge whether the Ims switch is enabled.
244761847f8eSopenharmony_ci   *
244861847f8eSopenharmony_ci   * @param { number } slotId - Indicates the card slot index number,
244961847f8eSopenharmony_ci   * ranging from 0 to the maximum card slot index number supported by the device.
245061847f8eSopenharmony_ci   * @returns { boolean } Returns {@code true} If the ims switch is on; returns {@code false} otherwise.
245161847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
245261847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
245361847f8eSopenharmony_ci   * 2. Incorrect parameters types;
245461847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
245561847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
245661847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
245761847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
245861847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
245961847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
246061847f8eSopenharmony_ci   * @since 12
246161847f8eSopenharmony_ci   */
246261847f8eSopenharmony_ci  function isImsSwitchEnabledSync(slotId: number): boolean;
246361847f8eSopenharmony_ci
246461847f8eSopenharmony_ci  /**
246561847f8eSopenharmony_ci   * Close unfinished ussd.
246661847f8eSopenharmony_ci   *
246761847f8eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
246861847f8eSopenharmony_ci   * @param { number } slotId - Indicates the card slot index number,
246961847f8eSopenharmony_ci   * ranging from 0 to the maximum card slot index number supported by the device.
247061847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback - The callback of closeUnfinishedUssd.
247161847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
247261847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
247361847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
247461847f8eSopenharmony_ci   * 2. Incorrect parameters types;
247561847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
247661847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
247761847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
247861847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
247961847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
248061847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
248161847f8eSopenharmony_ci   * @since 10
248261847f8eSopenharmony_ci   */
248361847f8eSopenharmony_ci  function closeUnfinishedUssd(slotId: number, callback: AsyncCallback<void>): void;
248461847f8eSopenharmony_ci
248561847f8eSopenharmony_ci  /**
248661847f8eSopenharmony_ci   * Close unfinished ussd.
248761847f8eSopenharmony_ci   *
248861847f8eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
248961847f8eSopenharmony_ci   * @param { number } slotId - Indicates the card slot index number,
249061847f8eSopenharmony_ci   * ranging from 0 to the maximum card slot index number supported by the device.
249161847f8eSopenharmony_ci   * @returns { Promise<void> } The promise returned by the closeUnfinishedUssd.
249261847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
249361847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
249461847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
249561847f8eSopenharmony_ci   * 2. Incorrect parameters types;
249661847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
249761847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
249861847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
249961847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
250061847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
250161847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
250261847f8eSopenharmony_ci   * @since 10
250361847f8eSopenharmony_ci   */
250461847f8eSopenharmony_ci  function closeUnfinishedUssd(slotId: number): Promise<void>;
250561847f8eSopenharmony_ci
250661847f8eSopenharmony_ci  /**
250761847f8eSopenharmony_ci   * Set switch state for voice over NR.
250861847f8eSopenharmony_ci   *
250961847f8eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
251061847f8eSopenharmony_ci   * @param { number } slotId - Indicates the card slot index number,
251161847f8eSopenharmony_ci   * ranging from 0 to the maximum card slot index number supported by the device.
251261847f8eSopenharmony_ci   * @param { VoNRState } state - Indicates the VoNR state.
251361847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback - The callback of setVoNRState.
251461847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
251561847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
251661847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
251761847f8eSopenharmony_ci   * 2. Incorrect parameters types;
251861847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
251961847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
252061847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
252161847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
252261847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
252361847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
252461847f8eSopenharmony_ci   * @since 10
252561847f8eSopenharmony_ci   */
252661847f8eSopenharmony_ci  function setVoNRState(slotId: number, state: VoNRState, callback: AsyncCallback<void>): void;
252761847f8eSopenharmony_ci
252861847f8eSopenharmony_ci  /**
252961847f8eSopenharmony_ci   * Set switch state for voice over NR.
253061847f8eSopenharmony_ci   *
253161847f8eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
253261847f8eSopenharmony_ci   * @param { number } slotId - Indicates the card slot index number,
253361847f8eSopenharmony_ci   * ranging from 0 to the maximum card slot index number supported by the device.
253461847f8eSopenharmony_ci   * @param { VoNRState } state - Indicates the VoNR state.
253561847f8eSopenharmony_ci   * @returns { Promise<void> } The promise returned by the setVoNRState.
253661847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
253761847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
253861847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
253961847f8eSopenharmony_ci   * 2. Incorrect parameters types;
254061847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
254161847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
254261847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
254361847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
254461847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
254561847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
254661847f8eSopenharmony_ci   * @since 10
254761847f8eSopenharmony_ci   */
254861847f8eSopenharmony_ci  function setVoNRState(slotId: number, state: VoNRState): Promise<void>;
254961847f8eSopenharmony_ci
255061847f8eSopenharmony_ci  /**
255161847f8eSopenharmony_ci   * Get switch state for voice over NR.
255261847f8eSopenharmony_ci   *
255361847f8eSopenharmony_ci   * @permission ohos.permission.GET_TELEPHONY_STATE
255461847f8eSopenharmony_ci   * @param { number } slotId - Indicates the card slot index number,
255561847f8eSopenharmony_ci   * ranging from 0 to the maximum card slot index number supported by the device.
255661847f8eSopenharmony_ci   * @param { AsyncCallback<VoNRState> } callback - Indicates the callback for getVoNRState.
255761847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
255861847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
255961847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
256061847f8eSopenharmony_ci   * 2. Incorrect parameters types;
256161847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
256261847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
256361847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
256461847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
256561847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
256661847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
256761847f8eSopenharmony_ci   * @since 10
256861847f8eSopenharmony_ci   */
256961847f8eSopenharmony_ci  function getVoNRState(slotId: number, callback: AsyncCallback<VoNRState>): void;
257061847f8eSopenharmony_ci
257161847f8eSopenharmony_ci  /**
257261847f8eSopenharmony_ci   * Get switch state for voice over NR.
257361847f8eSopenharmony_ci   *
257461847f8eSopenharmony_ci   * @permission ohos.permission.GET_TELEPHONY_STATE
257561847f8eSopenharmony_ci   * @param { number } slotId - Indicates the card slot index number,
257661847f8eSopenharmony_ci   * ranging from 0 to the maximum card slot index number supported by the device.
257761847f8eSopenharmony_ci   * @returns { Promise<VoNRState> } Returns the VoNR state.
257861847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
257961847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
258061847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
258161847f8eSopenharmony_ci   * 2. Incorrect parameters types;
258261847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
258361847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
258461847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
258561847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
258661847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
258761847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
258861847f8eSopenharmony_ci   * @since 10
258961847f8eSopenharmony_ci   */
259061847f8eSopenharmony_ci  function getVoNRState(slotId: number): Promise<VoNRState>;
259161847f8eSopenharmony_ci
259261847f8eSopenharmony_ci  /**
259361847f8eSopenharmony_ci   * Checks whether can set call transfer time.
259461847f8eSopenharmony_ci   *
259561847f8eSopenharmony_ci   * The system checks whether IP multimedia subsystem domain (IMS) can set call transfer time.
259661847f8eSopenharmony_ci   *
259761847f8eSopenharmony_ci   * @permission ohos.permission.GET_TELEPHONY_STATE
259861847f8eSopenharmony_ci   * @param { number } slotId - Indicates the card slot index number,
259961847f8eSopenharmony_ci   * ranging from 0 to the maximum card slot index number supported by the device.
260061847f8eSopenharmony_ci   * @param { AsyncCallback<boolean> } callback - Returns {@code true} if the device can set call transfer time;
260161847f8eSopenharmony_ci   * returns {@code false} otherwise.
260261847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
260361847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
260461847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
260561847f8eSopenharmony_ci   * 2. Incorrect parameters types;
260661847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
260761847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
260861847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
260961847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
261061847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
261161847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
261261847f8eSopenharmony_ci   * @since 10
261361847f8eSopenharmony_ci   */
261461847f8eSopenharmony_ci  function canSetCallTransferTime(slotId: number, callback: AsyncCallback<boolean>): void;
261561847f8eSopenharmony_ci
261661847f8eSopenharmony_ci  /**
261761847f8eSopenharmony_ci   * Checks whether can set call transfer time.
261861847f8eSopenharmony_ci   *
261961847f8eSopenharmony_ci   * The system checks whether IP multimedia subsystem domain (IMS) can set call transfer time.
262061847f8eSopenharmony_ci   *
262161847f8eSopenharmony_ci   * @permission ohos.permission.GET_TELEPHONY_STATE
262261847f8eSopenharmony_ci   * @param { number } slotId - Indicates the card slot index number,
262361847f8eSopenharmony_ci   * ranging from 0 to the maximum card slot index number supported by the device.
262461847f8eSopenharmony_ci   * @returns { Promise<boolean> } Returns {@code true} if the device can set call transfer time;
262561847f8eSopenharmony_ci   * returns {@code false} otherwise.
262661847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
262761847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
262861847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
262961847f8eSopenharmony_ci   * 2. Incorrect parameters types;
263061847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
263161847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
263261847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
263361847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
263461847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
263561847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
263661847f8eSopenharmony_ci   * @since 10
263761847f8eSopenharmony_ci   */
263861847f8eSopenharmony_ci  function canSetCallTransferTime(slotId: number): Promise<boolean>;
263961847f8eSopenharmony_ci
264061847f8eSopenharmony_ci  /**
264161847f8eSopenharmony_ci   * Enters the special code on the keypad.
264261847f8eSopenharmony_ci   *
264361847f8eSopenharmony_ci   * @permission ohos.permission.PLACE_CALL
264461847f8eSopenharmony_ci   * @param { string } inputCode - Indicates the special code to enter.
264561847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback - The callback of inputDialerSpecialCode.
264661847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
264761847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
264861847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
264961847f8eSopenharmony_ci   * 2. Incorrect parameters types;
265061847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
265161847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
265261847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
265361847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
265461847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
265561847f8eSopenharmony_ci   * @since 10
265661847f8eSopenharmony_ci   */
265761847f8eSopenharmony_ci  function inputDialerSpecialCode(inputCode: string, callback: AsyncCallback<void>): void;
265861847f8eSopenharmony_ci
265961847f8eSopenharmony_ci  /**
266061847f8eSopenharmony_ci   * Enters the special code on the keypad.
266161847f8eSopenharmony_ci   *
266261847f8eSopenharmony_ci   * @permission ohos.permission.PLACE_CALL
266361847f8eSopenharmony_ci   * @param { string } inputCode - Indicates the special code to enter.
266461847f8eSopenharmony_ci   * @returns { Promise<void> } The promise returned by the inputDialerSpecialCode.
266561847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
266661847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
266761847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
266861847f8eSopenharmony_ci   * 2. Incorrect parameters types;
266961847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
267061847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
267161847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
267261847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
267361847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
267461847f8eSopenharmony_ci   * @since 10
267561847f8eSopenharmony_ci   */
267661847f8eSopenharmony_ci  function inputDialerSpecialCode(inputCode: string): Promise<void>;
267761847f8eSopenharmony_ci
267861847f8eSopenharmony_ci  /**
267961847f8eSopenharmony_ci   * Remove missed incoming call notification.
268061847f8eSopenharmony_ci   *
268161847f8eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE and ohos.permission.READ_CALL_LOG and
268261847f8eSopenharmony_ci   * ohos.permission.WRITE_CALL_LOG
268361847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback - The callback of removeMissedIncomingCallNotification.
268461847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
268561847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
268661847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
268761847f8eSopenharmony_ci   * 2. Incorrect parameters types;
268861847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
268961847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
269061847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
269161847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
269261847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
269361847f8eSopenharmony_ci   * @since 10
269461847f8eSopenharmony_ci   */
269561847f8eSopenharmony_ci  function removeMissedIncomingCallNotification(callback: AsyncCallback<void>): void;
269661847f8eSopenharmony_ci
269761847f8eSopenharmony_ci  /**
269861847f8eSopenharmony_ci   * Remove missed incoming call notification.
269961847f8eSopenharmony_ci   *
270061847f8eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE and ohos.permission.READ_CALL_LOG and
270161847f8eSopenharmony_ci   * ohos.permission.WRITE_CALL_LOG
270261847f8eSopenharmony_ci   * @returns { Promise<void> } The promise returned by the removeMissedIncomingCallNotification.
270361847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
270461847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
270561847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
270661847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
270761847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
270861847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
270961847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
271061847f8eSopenharmony_ci   * @since 10
271161847f8eSopenharmony_ci   */
271261847f8eSopenharmony_ci  function removeMissedIncomingCallNotification(): Promise<void>;
271361847f8eSopenharmony_ci
271461847f8eSopenharmony_ci  /**
271561847f8eSopenharmony_ci   * Send call ui event.
271661847f8eSopenharmony_ci   *
271761847f8eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
271861847f8eSopenharmony_ci   * @param { number } callId - Indicates the identifier of the call.
271961847f8eSopenharmony_ci   * @param { string } eventName - Indicates the event name.
272061847f8eSopenharmony_ci   * @returns { Promise<void> } The promise returned by the sendCallUiEvent.
272161847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
272261847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
272361847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified;
272461847f8eSopenharmony_ci   * 2. Incorrect parameters types;
272561847f8eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
272661847f8eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
272761847f8eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
272861847f8eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
272961847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
273061847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
273161847f8eSopenharmony_ci   * @since 12
273261847f8eSopenharmony_ci   */
273361847f8eSopenharmony_ci  function sendCallUiEvent(callId: number, eventName: string): Promise<void>;
273461847f8eSopenharmony_ci
273561847f8eSopenharmony_ci  /**
273661847f8eSopenharmony_ci   * Indicates the mode of the ims call.
273761847f8eSopenharmony_ci   *
273861847f8eSopenharmony_ci   * @enum { number }
273961847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
274061847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
274161847f8eSopenharmony_ci   * @since 8
274261847f8eSopenharmony_ci   */
274361847f8eSopenharmony_ci  export enum ImsCallMode {
274461847f8eSopenharmony_ci    /**
274561847f8eSopenharmony_ci     * Indicates audio only calls.
274661847f8eSopenharmony_ci     *
274761847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
274861847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
274961847f8eSopenharmony_ci     * @since 8
275061847f8eSopenharmony_ci     */
275161847f8eSopenharmony_ci    CALL_MODE_AUDIO_ONLY = 0,
275261847f8eSopenharmony_ci
275361847f8eSopenharmony_ci    /**
275461847f8eSopenharmony_ci     * Indicates that only calls are sent.
275561847f8eSopenharmony_ci     *
275661847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
275761847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
275861847f8eSopenharmony_ci     * @since 8
275961847f8eSopenharmony_ci     */
276061847f8eSopenharmony_ci    CALL_MODE_SEND_ONLY,
276161847f8eSopenharmony_ci
276261847f8eSopenharmony_ci    /**
276361847f8eSopenharmony_ci     * Indicates receiving only calls.
276461847f8eSopenharmony_ci     *
276561847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
276661847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
276761847f8eSopenharmony_ci     * @since 8
276861847f8eSopenharmony_ci     */
276961847f8eSopenharmony_ci    CALL_MODE_RECEIVE_ONLY,
277061847f8eSopenharmony_ci
277161847f8eSopenharmony_ci    /**
277261847f8eSopenharmony_ci     * Indicates permission to send and receive calls.
277361847f8eSopenharmony_ci     *
277461847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
277561847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
277661847f8eSopenharmony_ci     * @since 8
277761847f8eSopenharmony_ci     */
277861847f8eSopenharmony_ci    CALL_MODE_SEND_RECEIVE,
277961847f8eSopenharmony_ci
278061847f8eSopenharmony_ci    /**
278161847f8eSopenharmony_ci     * Indicates a pause in video calls.
278261847f8eSopenharmony_ci     *
278361847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
278461847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
278561847f8eSopenharmony_ci     * @since 8
278661847f8eSopenharmony_ci     */
278761847f8eSopenharmony_ci    CALL_MODE_VIDEO_PAUSED,
278861847f8eSopenharmony_ci  }
278961847f8eSopenharmony_ci
279061847f8eSopenharmony_ci  /**
279161847f8eSopenharmony_ci   * Indicates the VoNR state.
279261847f8eSopenharmony_ci   *
279361847f8eSopenharmony_ci   * @enum { number }
279461847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
279561847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
279661847f8eSopenharmony_ci   * @since 10
279761847f8eSopenharmony_ci   */
279861847f8eSopenharmony_ci  export enum VoNRState {
279961847f8eSopenharmony_ci    /**
280061847f8eSopenharmony_ci     * Indicates the VoNR switch is off.
280161847f8eSopenharmony_ci     *
280261847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
280361847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
280461847f8eSopenharmony_ci     * @since 10
280561847f8eSopenharmony_ci     */
280661847f8eSopenharmony_ci    VONR_STATE_OFF = 0,
280761847f8eSopenharmony_ci
280861847f8eSopenharmony_ci    /**
280961847f8eSopenharmony_ci     * Indicates the VoNR switch is on.
281061847f8eSopenharmony_ci     *
281161847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
281261847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
281361847f8eSopenharmony_ci     * @since 10
281461847f8eSopenharmony_ci     */
281561847f8eSopenharmony_ci    VONR_STATE_ON = 1,
281661847f8eSopenharmony_ci  }
281761847f8eSopenharmony_ci
281861847f8eSopenharmony_ci  /**
281961847f8eSopenharmony_ci   * Indicates the device type of the audio device.
282061847f8eSopenharmony_ci   *
282161847f8eSopenharmony_ci   * @enum { number }
282261847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
282361847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
282461847f8eSopenharmony_ci   * @since 10
282561847f8eSopenharmony_ci   */
282661847f8eSopenharmony_ci  export enum AudioDeviceType {
282761847f8eSopenharmony_ci    /**
282861847f8eSopenharmony_ci     * Indicates the audio device is earpiece.
282961847f8eSopenharmony_ci     *
283061847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
283161847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
283261847f8eSopenharmony_ci     * @since 10
283361847f8eSopenharmony_ci     */
283461847f8eSopenharmony_ci    DEVICE_EARPIECE,
283561847f8eSopenharmony_ci
283661847f8eSopenharmony_ci    /**
283761847f8eSopenharmony_ci     * Indicates the audio device is speaker.
283861847f8eSopenharmony_ci     *
283961847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
284061847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
284161847f8eSopenharmony_ci     * @since 10
284261847f8eSopenharmony_ci     */
284361847f8eSopenharmony_ci    DEVICE_SPEAKER,
284461847f8eSopenharmony_ci
284561847f8eSopenharmony_ci    /**
284661847f8eSopenharmony_ci     * Indicates the audio device is wired headset.
284761847f8eSopenharmony_ci     *
284861847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
284961847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
285061847f8eSopenharmony_ci     * @since 10
285161847f8eSopenharmony_ci     */
285261847f8eSopenharmony_ci    DEVICE_WIRED_HEADSET,
285361847f8eSopenharmony_ci
285461847f8eSopenharmony_ci    /**
285561847f8eSopenharmony_ci     * Indicates the audio device is bluetooth headset.
285661847f8eSopenharmony_ci     *
285761847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
285861847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
285961847f8eSopenharmony_ci     * @since 10
286061847f8eSopenharmony_ci     */
286161847f8eSopenharmony_ci    DEVICE_BLUETOOTH_SCO,
286261847f8eSopenharmony_ci
286361847f8eSopenharmony_ci    /**
286461847f8eSopenharmony_ci     * Indicates the audio device is distributed automotive device.
286561847f8eSopenharmony_ci     *
286661847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
286761847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
286861847f8eSopenharmony_ci     * @since 11
286961847f8eSopenharmony_ci     */
287061847f8eSopenharmony_ci    DEVICE_DISTRIBUTED_AUTOMOTIVE,
287161847f8eSopenharmony_ci  }
287261847f8eSopenharmony_ci
287361847f8eSopenharmony_ci  /**
287461847f8eSopenharmony_ci   * Indicates the audio device.
287561847f8eSopenharmony_ci   *
287661847f8eSopenharmony_ci   * @interface AudioDevice
287761847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
287861847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
287961847f8eSopenharmony_ci   * @since 10
288061847f8eSopenharmony_ci   */
288161847f8eSopenharmony_ci  export interface AudioDevice {
288261847f8eSopenharmony_ci    /**
288361847f8eSopenharmony_ci     * Indicates the device type of the audio device.
288461847f8eSopenharmony_ci     *
288561847f8eSopenharmony_ci     * @type { AudioDeviceType }
288661847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
288761847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
288861847f8eSopenharmony_ci     * @since 10
288961847f8eSopenharmony_ci     */
289061847f8eSopenharmony_ci    deviceType: AudioDeviceType;
289161847f8eSopenharmony_ci
289261847f8eSopenharmony_ci    /**
289361847f8eSopenharmony_ci     * Indicates the address of the audio device.
289461847f8eSopenharmony_ci     *
289561847f8eSopenharmony_ci     * @type { ?string }
289661847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
289761847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
289861847f8eSopenharmony_ci     * @since 10
289961847f8eSopenharmony_ci     */
290061847f8eSopenharmony_ci    address?: string;
290161847f8eSopenharmony_ci
290261847f8eSopenharmony_ci    /**
290361847f8eSopenharmony_ci     * Indicates the name of the audio device.
290461847f8eSopenharmony_ci     *
290561847f8eSopenharmony_ci     * @type { ?string }
290661847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
290761847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
290861847f8eSopenharmony_ci     * @since 11
290961847f8eSopenharmony_ci     */
291061847f8eSopenharmony_ci    deviceName?: string;
291161847f8eSopenharmony_ci  }
291261847f8eSopenharmony_ci
291361847f8eSopenharmony_ci  /**
291461847f8eSopenharmony_ci   * Indicates the information of the audio device.
291561847f8eSopenharmony_ci   *
291661847f8eSopenharmony_ci   * @interface AudioDeviceCallbackInfo
291761847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
291861847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
291961847f8eSopenharmony_ci   * @since 10
292061847f8eSopenharmony_ci   */
292161847f8eSopenharmony_ci  export interface AudioDeviceCallbackInfo {
292261847f8eSopenharmony_ci    /**
292361847f8eSopenharmony_ci     * Indicates the list of support audio device.
292461847f8eSopenharmony_ci     *
292561847f8eSopenharmony_ci     * @type { Array<AudioDevice> }
292661847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
292761847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
292861847f8eSopenharmony_ci     * @since 10
292961847f8eSopenharmony_ci     */
293061847f8eSopenharmony_ci    audioDeviceList: Array<AudioDevice>;
293161847f8eSopenharmony_ci
293261847f8eSopenharmony_ci    /**
293361847f8eSopenharmony_ci     * Indicates the type of current audio device.
293461847f8eSopenharmony_ci     *
293561847f8eSopenharmony_ci     * @type { AudioDevice }
293661847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
293761847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
293861847f8eSopenharmony_ci     * @since 10
293961847f8eSopenharmony_ci     */
294061847f8eSopenharmony_ci    currentAudioDevice: AudioDevice;
294161847f8eSopenharmony_ci
294261847f8eSopenharmony_ci    /**
294361847f8eSopenharmony_ci     * Indicates the status of mute.
294461847f8eSopenharmony_ci     *
294561847f8eSopenharmony_ci     * @type { boolean }
294661847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
294761847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
294861847f8eSopenharmony_ci     * @since 10
294961847f8eSopenharmony_ci     */
295061847f8eSopenharmony_ci    isMuted: boolean;
295161847f8eSopenharmony_ci  }
295261847f8eSopenharmony_ci
295361847f8eSopenharmony_ci  /**
295461847f8eSopenharmony_ci   * Indicates the type of call restriction.
295561847f8eSopenharmony_ci   *
295661847f8eSopenharmony_ci   * @enum { number }
295761847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
295861847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
295961847f8eSopenharmony_ci   * @since 8
296061847f8eSopenharmony_ci   */
296161847f8eSopenharmony_ci  export enum CallRestrictionType {
296261847f8eSopenharmony_ci    /**
296361847f8eSopenharmony_ci     * Indicates restrict all incoming calls.
296461847f8eSopenharmony_ci     *
296561847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
296661847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
296761847f8eSopenharmony_ci     * @since 8
296861847f8eSopenharmony_ci     */
296961847f8eSopenharmony_ci    RESTRICTION_TYPE_ALL_INCOMING = 0,
297061847f8eSopenharmony_ci
297161847f8eSopenharmony_ci    /**
297261847f8eSopenharmony_ci     * Indicates restrict all outgoing calls.
297361847f8eSopenharmony_ci     *
297461847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
297561847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
297661847f8eSopenharmony_ci     * @since 8
297761847f8eSopenharmony_ci     */
297861847f8eSopenharmony_ci    RESTRICTION_TYPE_ALL_OUTGOING,
297961847f8eSopenharmony_ci
298061847f8eSopenharmony_ci    /**
298161847f8eSopenharmony_ci     * Indicates restrict international calls.
298261847f8eSopenharmony_ci     *
298361847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
298461847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
298561847f8eSopenharmony_ci     * @since 8
298661847f8eSopenharmony_ci     */
298761847f8eSopenharmony_ci    RESTRICTION_TYPE_INTERNATIONAL,
298861847f8eSopenharmony_ci
298961847f8eSopenharmony_ci    /**
299061847f8eSopenharmony_ci     * Indicates restrict international roaming calls.
299161847f8eSopenharmony_ci     *
299261847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
299361847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
299461847f8eSopenharmony_ci     * @since 8
299561847f8eSopenharmony_ci     */
299661847f8eSopenharmony_ci    RESTRICTION_TYPE_INTERNATIONAL_EXCLUDING_HOME,
299761847f8eSopenharmony_ci
299861847f8eSopenharmony_ci    /**
299961847f8eSopenharmony_ci     * Indicates restrict roaming calls.
300061847f8eSopenharmony_ci     *
300161847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
300261847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
300361847f8eSopenharmony_ci     * @since 8
300461847f8eSopenharmony_ci     */
300561847f8eSopenharmony_ci    RESTRICTION_TYPE_ROAMING_INCOMING,
300661847f8eSopenharmony_ci
300761847f8eSopenharmony_ci    /**
300861847f8eSopenharmony_ci     * Indicates restrict all calls.
300961847f8eSopenharmony_ci     *
301061847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
301161847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
301261847f8eSopenharmony_ci     * @since 8
301361847f8eSopenharmony_ci     */
301461847f8eSopenharmony_ci    RESTRICTION_TYPE_ALL_CALLS,
301561847f8eSopenharmony_ci
301661847f8eSopenharmony_ci    /**
301761847f8eSopenharmony_ci     * Indicates restrict all outgoing services.
301861847f8eSopenharmony_ci     *
301961847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
302061847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
302161847f8eSopenharmony_ci     * @since 8
302261847f8eSopenharmony_ci     */
302361847f8eSopenharmony_ci    RESTRICTION_TYPE_OUTGOING_SERVICES,
302461847f8eSopenharmony_ci
302561847f8eSopenharmony_ci    /**
302661847f8eSopenharmony_ci     * Indicates restrict all incoming services.
302761847f8eSopenharmony_ci     *
302861847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
302961847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
303061847f8eSopenharmony_ci     * @since 8
303161847f8eSopenharmony_ci     */
303261847f8eSopenharmony_ci    RESTRICTION_TYPE_INCOMING_SERVICES,
303361847f8eSopenharmony_ci  }
303461847f8eSopenharmony_ci
303561847f8eSopenharmony_ci  /**
303661847f8eSopenharmony_ci   * Indicates the information of call transfer.
303761847f8eSopenharmony_ci   *
303861847f8eSopenharmony_ci   * @interface CallTransferInfo
303961847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
304061847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
304161847f8eSopenharmony_ci   * @since 8
304261847f8eSopenharmony_ci   */
304361847f8eSopenharmony_ci  export interface CallTransferInfo {
304461847f8eSopenharmony_ci    /**
304561847f8eSopenharmony_ci     * Phone number.
304661847f8eSopenharmony_ci     *
304761847f8eSopenharmony_ci     * @type { string }
304861847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
304961847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
305061847f8eSopenharmony_ci     * @since 8
305161847f8eSopenharmony_ci     */
305261847f8eSopenharmony_ci    transferNum: string;
305361847f8eSopenharmony_ci
305461847f8eSopenharmony_ci    /**
305561847f8eSopenharmony_ci     * Call forwarding type.
305661847f8eSopenharmony_ci     *
305761847f8eSopenharmony_ci     * @type { CallTransferType }
305861847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
305961847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
306061847f8eSopenharmony_ci     * @since 8
306161847f8eSopenharmony_ci     */
306261847f8eSopenharmony_ci    type: CallTransferType;
306361847f8eSopenharmony_ci
306461847f8eSopenharmony_ci    /**
306561847f8eSopenharmony_ci     * Call forwarding setting type.
306661847f8eSopenharmony_ci     *
306761847f8eSopenharmony_ci     * @type { CallTransferSettingType }
306861847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
306961847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
307061847f8eSopenharmony_ci     * @since 8
307161847f8eSopenharmony_ci     */
307261847f8eSopenharmony_ci    settingType: CallTransferSettingType;
307361847f8eSopenharmony_ci
307461847f8eSopenharmony_ci    /**
307561847f8eSopenharmony_ci     * Start time hours.
307661847f8eSopenharmony_ci     *
307761847f8eSopenharmony_ci     * @type { ?number }
307861847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
307961847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
308061847f8eSopenharmony_ci     * @since 9
308161847f8eSopenharmony_ci     */
308261847f8eSopenharmony_ci    startHour?: number;
308361847f8eSopenharmony_ci
308461847f8eSopenharmony_ci    /**
308561847f8eSopenharmony_ci     * Start time minutes.
308661847f8eSopenharmony_ci     *
308761847f8eSopenharmony_ci     * @type { ?number }
308861847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
308961847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
309061847f8eSopenharmony_ci     * @since 9
309161847f8eSopenharmony_ci     */
309261847f8eSopenharmony_ci    startMinute?: number;
309361847f8eSopenharmony_ci
309461847f8eSopenharmony_ci    /**
309561847f8eSopenharmony_ci     * End time hours.
309661847f8eSopenharmony_ci     *
309761847f8eSopenharmony_ci     * @type { ?number }
309861847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
309961847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
310061847f8eSopenharmony_ci     * @since 9
310161847f8eSopenharmony_ci     */
310261847f8eSopenharmony_ci    endHour?: number;
310361847f8eSopenharmony_ci
310461847f8eSopenharmony_ci    /**
310561847f8eSopenharmony_ci     * End time minutes.
310661847f8eSopenharmony_ci     *
310761847f8eSopenharmony_ci     * @type { ?number }
310861847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
310961847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
311061847f8eSopenharmony_ci     * @since 9
311161847f8eSopenharmony_ci     */
311261847f8eSopenharmony_ci    endMinute?: number;
311361847f8eSopenharmony_ci  }
311461847f8eSopenharmony_ci
311561847f8eSopenharmony_ci  /**
311661847f8eSopenharmony_ci   * Indicates the type of call transfer.
311761847f8eSopenharmony_ci   *
311861847f8eSopenharmony_ci   * @enum { number }
311961847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
312061847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
312161847f8eSopenharmony_ci   * @since 8
312261847f8eSopenharmony_ci   */
312361847f8eSopenharmony_ci  export enum CallTransferType {
312461847f8eSopenharmony_ci    /**
312561847f8eSopenharmony_ci     * Indicates unconditional transfer of a call.
312661847f8eSopenharmony_ci     *
312761847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
312861847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
312961847f8eSopenharmony_ci     * @since 8
313061847f8eSopenharmony_ci     */
313161847f8eSopenharmony_ci    TRANSFER_TYPE_UNCONDITIONAL = 0,
313261847f8eSopenharmony_ci
313361847f8eSopenharmony_ci    /**
313461847f8eSopenharmony_ci     * Indicates transfer the call when busy.
313561847f8eSopenharmony_ci     *
313661847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
313761847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
313861847f8eSopenharmony_ci     * @since 8
313961847f8eSopenharmony_ci     */
314061847f8eSopenharmony_ci    TRANSFER_TYPE_BUSY,
314161847f8eSopenharmony_ci
314261847f8eSopenharmony_ci    /**
314361847f8eSopenharmony_ci     * Indicates transfer the call when no reply.
314461847f8eSopenharmony_ci     *
314561847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
314661847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
314761847f8eSopenharmony_ci     * @since 8
314861847f8eSopenharmony_ci     */
314961847f8eSopenharmony_ci    TRANSFER_TYPE_NO_REPLY,
315061847f8eSopenharmony_ci
315161847f8eSopenharmony_ci    /**
315261847f8eSopenharmony_ci     * Indicates transfer the call when unreachable.
315361847f8eSopenharmony_ci     *
315461847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
315561847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
315661847f8eSopenharmony_ci     * @since 8
315761847f8eSopenharmony_ci     */
315861847f8eSopenharmony_ci    TRANSFER_TYPE_NOT_REACHABLE,
315961847f8eSopenharmony_ci  }
316061847f8eSopenharmony_ci
316161847f8eSopenharmony_ci  /**
316261847f8eSopenharmony_ci   * Indicates the type of call transfer setting.
316361847f8eSopenharmony_ci   *
316461847f8eSopenharmony_ci   * @enum { number }
316561847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
316661847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
316761847f8eSopenharmony_ci   * @since 8
316861847f8eSopenharmony_ci   */
316961847f8eSopenharmony_ci  export enum CallTransferSettingType {
317061847f8eSopenharmony_ci    /**
317161847f8eSopenharmony_ci     * Indicates disable the call transfer.
317261847f8eSopenharmony_ci     *
317361847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
317461847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
317561847f8eSopenharmony_ci     * @since 8
317661847f8eSopenharmony_ci     */
317761847f8eSopenharmony_ci    CALL_TRANSFER_DISABLE = 0,
317861847f8eSopenharmony_ci
317961847f8eSopenharmony_ci    /**
318061847f8eSopenharmony_ci     * Indicates enable the call transfer.
318161847f8eSopenharmony_ci     *
318261847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
318361847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
318461847f8eSopenharmony_ci     * @since 8
318561847f8eSopenharmony_ci     */
318661847f8eSopenharmony_ci    CALL_TRANSFER_ENABLE = 1,
318761847f8eSopenharmony_ci
318861847f8eSopenharmony_ci    /**
318961847f8eSopenharmony_ci     * Indicates register the call transfer.
319061847f8eSopenharmony_ci     *
319161847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
319261847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
319361847f8eSopenharmony_ci     * @since 8
319461847f8eSopenharmony_ci     */
319561847f8eSopenharmony_ci    CALL_TRANSFER_REGISTRATION = 3,
319661847f8eSopenharmony_ci
319761847f8eSopenharmony_ci    /**
319861847f8eSopenharmony_ci     * Indicates erasure the call transfer.
319961847f8eSopenharmony_ci     *
320061847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
320161847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
320261847f8eSopenharmony_ci     * @since 8
320361847f8eSopenharmony_ci     */
320461847f8eSopenharmony_ci    CALL_TRANSFER_ERASURE = 4,
320561847f8eSopenharmony_ci  }
320661847f8eSopenharmony_ci
320761847f8eSopenharmony_ci  /**
320861847f8eSopenharmony_ci   * Indicates the options of call attribute.
320961847f8eSopenharmony_ci   *
321061847f8eSopenharmony_ci   * @interface CallAttributeOptions
321161847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
321261847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
321361847f8eSopenharmony_ci   * @since 7
321461847f8eSopenharmony_ci   */
321561847f8eSopenharmony_ci  export interface CallAttributeOptions {
321661847f8eSopenharmony_ci    /**
321761847f8eSopenharmony_ci     * Indicates the number of account.
321861847f8eSopenharmony_ci     *
321961847f8eSopenharmony_ci     * @type { string }
322061847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
322161847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
322261847f8eSopenharmony_ci     * @since 7
322361847f8eSopenharmony_ci     */
322461847f8eSopenharmony_ci    accountNumber: string;
322561847f8eSopenharmony_ci
322661847f8eSopenharmony_ci    /**
322761847f8eSopenharmony_ci     * Indicates if the call is start with speaker.
322861847f8eSopenharmony_ci     *
322961847f8eSopenharmony_ci     * @type { boolean }
323061847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
323161847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
323261847f8eSopenharmony_ci     * @since 7
323361847f8eSopenharmony_ci     */
323461847f8eSopenharmony_ci    speakerphoneOn: boolean;
323561847f8eSopenharmony_ci
323661847f8eSopenharmony_ci    /**
323761847f8eSopenharmony_ci     * Indicates the id of account.
323861847f8eSopenharmony_ci     *
323961847f8eSopenharmony_ci     * @type { number }
324061847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
324161847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
324261847f8eSopenharmony_ci     * @since 7
324361847f8eSopenharmony_ci     */
324461847f8eSopenharmony_ci    accountId: number;
324561847f8eSopenharmony_ci
324661847f8eSopenharmony_ci    /**
324761847f8eSopenharmony_ci     * Indicates the type of video state.
324861847f8eSopenharmony_ci     *
324961847f8eSopenharmony_ci     * @type { VideoStateType }
325061847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
325161847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
325261847f8eSopenharmony_ci     * @since 7
325361847f8eSopenharmony_ci     */
325461847f8eSopenharmony_ci    videoState: VideoStateType;
325561847f8eSopenharmony_ci
325661847f8eSopenharmony_ci    /**
325761847f8eSopenharmony_ci     * Indicates the start time.
325861847f8eSopenharmony_ci     *
325961847f8eSopenharmony_ci     * @type { number }
326061847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
326161847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
326261847f8eSopenharmony_ci     * @since 7
326361847f8eSopenharmony_ci     */
326461847f8eSopenharmony_ci    startTime: number;
326561847f8eSopenharmony_ci
326661847f8eSopenharmony_ci    /**
326761847f8eSopenharmony_ci     * Indicates if this is an emergency call.
326861847f8eSopenharmony_ci     *
326961847f8eSopenharmony_ci     * @type { boolean }
327061847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
327161847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
327261847f8eSopenharmony_ci     * @since 7
327361847f8eSopenharmony_ci     */
327461847f8eSopenharmony_ci    isEcc: boolean;
327561847f8eSopenharmony_ci
327661847f8eSopenharmony_ci    /**
327761847f8eSopenharmony_ci     * Indicates the type of call.
327861847f8eSopenharmony_ci     *
327961847f8eSopenharmony_ci     * @type { CallType }
328061847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
328161847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
328261847f8eSopenharmony_ci     * @since 7
328361847f8eSopenharmony_ci     */
328461847f8eSopenharmony_ci    callType: CallType;
328561847f8eSopenharmony_ci
328661847f8eSopenharmony_ci    /**
328761847f8eSopenharmony_ci     * Indicates the id of call.
328861847f8eSopenharmony_ci     *
328961847f8eSopenharmony_ci     * @type { number }
329061847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
329161847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
329261847f8eSopenharmony_ci     * @since 7
329361847f8eSopenharmony_ci     */
329461847f8eSopenharmony_ci    callId: number;
329561847f8eSopenharmony_ci
329661847f8eSopenharmony_ci    /**
329761847f8eSopenharmony_ci     * Indicates the detailed state of call.
329861847f8eSopenharmony_ci     *
329961847f8eSopenharmony_ci     * @type { DetailedCallState }
330061847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
330161847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
330261847f8eSopenharmony_ci     * @since 7
330361847f8eSopenharmony_ci     */
330461847f8eSopenharmony_ci    callState: DetailedCallState;
330561847f8eSopenharmony_ci
330661847f8eSopenharmony_ci    /**
330761847f8eSopenharmony_ci     * Indicates the state of conference.
330861847f8eSopenharmony_ci     *
330961847f8eSopenharmony_ci     * @type { ConferenceState }
331061847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
331161847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
331261847f8eSopenharmony_ci     * @since 7
331361847f8eSopenharmony_ci     */
331461847f8eSopenharmony_ci    conferenceState: ConferenceState;
331561847f8eSopenharmony_ci
331661847f8eSopenharmony_ci    /**
331761847f8eSopenharmony_ci     * Indicates the detail information of voip call.
331861847f8eSopenharmony_ci     *
331961847f8eSopenharmony_ci     * @type { ?VoipCallAttribute }
332061847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
332161847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
332261847f8eSopenharmony_ci     * @since 11
332361847f8eSopenharmony_ci     */
332461847f8eSopenharmony_ci    voipCallAttribute?: VoipCallAttribute;
332561847f8eSopenharmony_ci
332661847f8eSopenharmony_ci    /**
332761847f8eSopenharmony_ci     * Indicates the color tone type.
332861847f8eSopenharmony_ci     *
332961847f8eSopenharmony_ci     * @type { number }
333061847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
333161847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
333261847f8eSopenharmony_ci     * @since 11
333361847f8eSopenharmony_ci     */
333461847f8eSopenharmony_ci    crsType: number;
333561847f8eSopenharmony_ci  
333661847f8eSopenharmony_ci    /**
333761847f8eSopenharmony_ci     * Indicates the initial type of this call.
333861847f8eSopenharmony_ci     *
333961847f8eSopenharmony_ci     * @type { number }
334061847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
334161847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
334261847f8eSopenharmony_ci     * @since 11
334361847f8eSopenharmony_ci     */
334461847f8eSopenharmony_ci    originalCallType: number;
334561847f8eSopenharmony_ci
334661847f8eSopenharmony_ci    /**
334761847f8eSopenharmony_ci     * Indicates the location of the phone number.
334861847f8eSopenharmony_ci     *
334961847f8eSopenharmony_ci     * @type { ?string }
335061847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
335161847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
335261847f8eSopenharmony_ci     * @since 12
335361847f8eSopenharmony_ci     */
335461847f8eSopenharmony_ci    numberLocation?: string;
335561847f8eSopenharmony_ci
335661847f8eSopenharmony_ci    /**
335761847f8eSopenharmony_ci     * Indicates the mark information of the phone number.
335861847f8eSopenharmony_ci     *
335961847f8eSopenharmony_ci     * @type { ?NumberMarkInfo }
336061847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
336161847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
336261847f8eSopenharmony_ci     * @since 12
336361847f8eSopenharmony_ci     */
336461847f8eSopenharmony_ci    numberMarkInfo?: NumberMarkInfo;
336561847f8eSopenharmony_ci
336661847f8eSopenharmony_ci    /**
336761847f8eSopenharmony_ci     * Indicates the extra call parameters.
336861847f8eSopenharmony_ci     *
336961847f8eSopenharmony_ci     * @type { ?Record<string, Object> }
337061847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
337161847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
337261847f8eSopenharmony_ci     * @since 14
337361847f8eSopenharmony_ci     */
337461847f8eSopenharmony_ci    extraParams?: Record<string, Object>;
337561847f8eSopenharmony_ci  }
337661847f8eSopenharmony_ci
337761847f8eSopenharmony_ci  /**
337861847f8eSopenharmony_ci   * Indicates the voip call detail information.
337961847f8eSopenharmony_ci   *
338061847f8eSopenharmony_ci   * @interface VoipCallAttribute
338161847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
338261847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
338361847f8eSopenharmony_ci   * @since 11
338461847f8eSopenharmony_ci   */
338561847f8eSopenharmony_ci  export interface VoipCallAttribute {
338661847f8eSopenharmony_ci    /**
338761847f8eSopenharmony_ci     * Indicates the identifier of the voip call.
338861847f8eSopenharmony_ci     *
338961847f8eSopenharmony_ci     * @type { string }
339061847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
339161847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
339261847f8eSopenharmony_ci     * @since 11
339361847f8eSopenharmony_ci     */
339461847f8eSopenharmony_ci    voipCallId: string;
339561847f8eSopenharmony_ci
339661847f8eSopenharmony_ci    /**
339761847f8eSopenharmony_ci     * Indicates the user name of the VoIP call.
339861847f8eSopenharmony_ci     *
339961847f8eSopenharmony_ci     * @type { string }
340061847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
340161847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
340261847f8eSopenharmony_ci     * @since 11
340361847f8eSopenharmony_ci     */
340461847f8eSopenharmony_ci    userName: string;
340561847f8eSopenharmony_ci
340661847f8eSopenharmony_ci    /**
340761847f8eSopenharmony_ci     * Indicates the user profile photo of the VoIP call.
340861847f8eSopenharmony_ci     *
340961847f8eSopenharmony_ci     * @type { image.PixelMap }
341061847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
341161847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
341261847f8eSopenharmony_ci     * @since 11
341361847f8eSopenharmony_ci     */
341461847f8eSopenharmony_ci    userProfile: image.PixelMap;
341561847f8eSopenharmony_ci
341661847f8eSopenharmony_ci    /**
341761847f8eSopenharmony_ci     * Indicates the third-party application process specific identifier.
341861847f8eSopenharmony_ci     *
341961847f8eSopenharmony_ci     * @type { string }
342061847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
342161847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
342261847f8eSopenharmony_ci     * @since 11
342361847f8eSopenharmony_ci     */
342461847f8eSopenharmony_ci    extensionId: string;
342561847f8eSopenharmony_ci
342661847f8eSopenharmony_ci    /**
342761847f8eSopenharmony_ci     * Indicates the third-party application UI extension ability name.
342861847f8eSopenharmony_ci     *
342961847f8eSopenharmony_ci     * @type { string }
343061847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
343161847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
343261847f8eSopenharmony_ci     * @since 11
343361847f8eSopenharmony_ci     */
343461847f8eSopenharmony_ci    abilityName: string;
343561847f8eSopenharmony_ci
343661847f8eSopenharmony_ci    /**
343761847f8eSopenharmony_ci     * Indicates the third-party application bundle name.
343861847f8eSopenharmony_ci     *
343961847f8eSopenharmony_ci     * @type { string }
344061847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
344161847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
344261847f8eSopenharmony_ci     * @since 11
344361847f8eSopenharmony_ci     */
344461847f8eSopenharmony_ci    voipBundleName: string;
344561847f8eSopenharmony_ci
344661847f8eSopenharmony_ci    /**
344761847f8eSopenharmony_ci     * Indicates whether the VoIP incoming call default show live call banner. Default value is true.
344861847f8eSopenharmony_ci     *
344961847f8eSopenharmony_ci     * @type { ?boolean }
345061847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
345161847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
345261847f8eSopenharmony_ci     * @since 12
345361847f8eSopenharmony_ci     */
345461847f8eSopenharmony_ci    showBannerForIncomingCall?: boolean;
345561847f8eSopenharmony_ci  
345661847f8eSopenharmony_ci    /**
345761847f8eSopenharmony_ci     * Indicates whether the VoIP call is a conference call. Default value is false.
345861847f8eSopenharmony_ci     *
345961847f8eSopenharmony_ci     * @type { ?boolean }
346061847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
346161847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
346261847f8eSopenharmony_ci     * @since 12
346361847f8eSopenharmony_ci     */
346461847f8eSopenharmony_ci    isConferenceCall?: boolean;
346561847f8eSopenharmony_ci  
346661847f8eSopenharmony_ci    /**
346761847f8eSopenharmony_ci     * Indicates whether the VoIP incoming video call is support voice answer. Default value is true.
346861847f8eSopenharmony_ci     *
346961847f8eSopenharmony_ci     * @type { ?boolean }
347061847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
347161847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
347261847f8eSopenharmony_ci     * @since 12
347361847f8eSopenharmony_ci     */
347461847f8eSopenharmony_ci    isVoiceAnswerSupported?: boolean;
347561847f8eSopenharmony_ci  }
347661847f8eSopenharmony_ci
347761847f8eSopenharmony_ci  /**
347861847f8eSopenharmony_ci   * Indicates the state of conference call.
347961847f8eSopenharmony_ci   *
348061847f8eSopenharmony_ci   * @enum { number }
348161847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
348261847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
348361847f8eSopenharmony_ci   * @since 7
348461847f8eSopenharmony_ci   */
348561847f8eSopenharmony_ci  export enum ConferenceState {
348661847f8eSopenharmony_ci    /**
348761847f8eSopenharmony_ci     * Indicates the state is idle.
348861847f8eSopenharmony_ci     *
348961847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
349061847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
349161847f8eSopenharmony_ci     * @since 7
349261847f8eSopenharmony_ci     */
349361847f8eSopenharmony_ci    TEL_CONFERENCE_IDLE = 0,
349461847f8eSopenharmony_ci
349561847f8eSopenharmony_ci    /**
349661847f8eSopenharmony_ci     * Indicates the state is active.
349761847f8eSopenharmony_ci     *
349861847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
349961847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
350061847f8eSopenharmony_ci     * @since 7
350161847f8eSopenharmony_ci     */
350261847f8eSopenharmony_ci    TEL_CONFERENCE_ACTIVE,
350361847f8eSopenharmony_ci
350461847f8eSopenharmony_ci    /**
350561847f8eSopenharmony_ci     * Indicates the state is disconnecting.
350661847f8eSopenharmony_ci     *
350761847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
350861847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
350961847f8eSopenharmony_ci     * @since 7
351061847f8eSopenharmony_ci     */
351161847f8eSopenharmony_ci    TEL_CONFERENCE_DISCONNECTING,
351261847f8eSopenharmony_ci
351361847f8eSopenharmony_ci    /**
351461847f8eSopenharmony_ci     * Indicates the state is disconnected.
351561847f8eSopenharmony_ci     *
351661847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
351761847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
351861847f8eSopenharmony_ci     * @since 7
351961847f8eSopenharmony_ci     */
352061847f8eSopenharmony_ci    TEL_CONFERENCE_DISCONNECTED,
352161847f8eSopenharmony_ci  }
352261847f8eSopenharmony_ci
352361847f8eSopenharmony_ci  /**
352461847f8eSopenharmony_ci   * Indicates the type of call.
352561847f8eSopenharmony_ci   *
352661847f8eSopenharmony_ci   * @enum { number }
352761847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
352861847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
352961847f8eSopenharmony_ci   * @since 7
353061847f8eSopenharmony_ci   */
353161847f8eSopenharmony_ci  export enum CallType {
353261847f8eSopenharmony_ci    /**
353361847f8eSopenharmony_ci     * Indicates the call type is CS.
353461847f8eSopenharmony_ci     *
353561847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
353661847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
353761847f8eSopenharmony_ci     * @since 7
353861847f8eSopenharmony_ci     */
353961847f8eSopenharmony_ci    TYPE_CS = 0,
354061847f8eSopenharmony_ci
354161847f8eSopenharmony_ci    /**
354261847f8eSopenharmony_ci     * Indicates the call type is IMS.
354361847f8eSopenharmony_ci     *
354461847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
354561847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
354661847f8eSopenharmony_ci     * @since 7
354761847f8eSopenharmony_ci     */
354861847f8eSopenharmony_ci    TYPE_IMS = 1,
354961847f8eSopenharmony_ci
355061847f8eSopenharmony_ci    /**
355161847f8eSopenharmony_ci     * Indicates the call type is OTT.
355261847f8eSopenharmony_ci     *
355361847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
355461847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
355561847f8eSopenharmony_ci     * @since 7
355661847f8eSopenharmony_ci     */
355761847f8eSopenharmony_ci    TYPE_OTT = 2,
355861847f8eSopenharmony_ci
355961847f8eSopenharmony_ci    /**
356061847f8eSopenharmony_ci     * Indicates the call type is OTHER.
356161847f8eSopenharmony_ci     *
356261847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
356361847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
356461847f8eSopenharmony_ci     * @since 7
356561847f8eSopenharmony_ci     */
356661847f8eSopenharmony_ci    TYPE_ERR_CALL = 3,
356761847f8eSopenharmony_ci
356861847f8eSopenharmony_ci    /**
356961847f8eSopenharmony_ci     * Indicates the call type is VoIP.
357061847f8eSopenharmony_ci     *
357161847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
357261847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
357361847f8eSopenharmony_ci     * @since 11
357461847f8eSopenharmony_ci     */
357561847f8eSopenharmony_ci    TYPE_VOIP = 4,
357661847f8eSopenharmony_ci  }
357761847f8eSopenharmony_ci
357861847f8eSopenharmony_ci  /**
357961847f8eSopenharmony_ci   * Indicates the type of video state.
358061847f8eSopenharmony_ci   *
358161847f8eSopenharmony_ci   * @enum { number }
358261847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
358361847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
358461847f8eSopenharmony_ci   * @since 7
358561847f8eSopenharmony_ci   */
358661847f8eSopenharmony_ci  export enum VideoStateType {
358761847f8eSopenharmony_ci    /**
358861847f8eSopenharmony_ci     * Indicates the call is in voice state.
358961847f8eSopenharmony_ci     *
359061847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
359161847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
359261847f8eSopenharmony_ci     * @since 7
359361847f8eSopenharmony_ci     */
359461847f8eSopenharmony_ci    TYPE_VOICE = 0,
359561847f8eSopenharmony_ci    /**
359661847f8eSopenharmony_ci     * Indicates the call is in video state.
359761847f8eSopenharmony_ci     *
359861847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
359961847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
360061847f8eSopenharmony_ci     * @since 7
360161847f8eSopenharmony_ci     * @deprecated since 11
360261847f8eSopenharmony_ci     * @useinstead telephony.call#TYPE_VIDEO_BIDIRECTIONAL
360361847f8eSopenharmony_ci     */
360461847f8eSopenharmony_ci    TYPE_VIDEO,
360561847f8eSopenharmony_ci    /**
360661847f8eSopenharmony_ci     * Indicates the call is in send only video state.
360761847f8eSopenharmony_ci     *
360861847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
360961847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
361061847f8eSopenharmony_ci     * @since 11
361161847f8eSopenharmony_ci     */
361261847f8eSopenharmony_ci    TYPE_VIDEO_SEND_ONLY = 1,
361361847f8eSopenharmony_ci    /**
361461847f8eSopenharmony_ci     * Indicates the call is in receive only video state.
361561847f8eSopenharmony_ci     *
361661847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
361761847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
361861847f8eSopenharmony_ci     * @since 11
361961847f8eSopenharmony_ci     */
362061847f8eSopenharmony_ci    TYPE_VIDEO_RECEIVE_ONLY,
362161847f8eSopenharmony_ci    /**
362261847f8eSopenharmony_ci     * Indicates the call is in send and receive video state.
362361847f8eSopenharmony_ci     *
362461847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
362561847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
362661847f8eSopenharmony_ci     * @since 11
362761847f8eSopenharmony_ci     */
362861847f8eSopenharmony_ci    TYPE_VIDEO_BIDIRECTIONAL,
362961847f8eSopenharmony_ci  }
363061847f8eSopenharmony_ci
363161847f8eSopenharmony_ci  /**
363261847f8eSopenharmony_ci   * Indicates the type of video request result.
363361847f8eSopenharmony_ci   *
363461847f8eSopenharmony_ci   * @enum { number }
363561847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
363661847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
363761847f8eSopenharmony_ci   * @since 11
363861847f8eSopenharmony_ci   */
363961847f8eSopenharmony_ci  export enum VideoRequestResultType {
364061847f8eSopenharmony_ci    /**
364161847f8eSopenharmony_ci     * Indicates the request was successful.
364261847f8eSopenharmony_ci     *
364361847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
364461847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
364561847f8eSopenharmony_ci     * @since 11
364661847f8eSopenharmony_ci     */
364761847f8eSopenharmony_ci    TYPE_REQUEST_SUCCESS = 0,
364861847f8eSopenharmony_ci    /**
364961847f8eSopenharmony_ci     * Indicates the request failed.
365061847f8eSopenharmony_ci     *
365161847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
365261847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
365361847f8eSopenharmony_ci     * @since 11
365461847f8eSopenharmony_ci     */
365561847f8eSopenharmony_ci    TYPE_REQUEST_FAILURE,
365661847f8eSopenharmony_ci    /**
365761847f8eSopenharmony_ci     * Indicates the request ignored due to invalid parameters.
365861847f8eSopenharmony_ci     *
365961847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
366061847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
366161847f8eSopenharmony_ci     * @since 11
366261847f8eSopenharmony_ci     */
366361847f8eSopenharmony_ci    TYPE_REQUEST_INVALID,
366461847f8eSopenharmony_ci    /**
366561847f8eSopenharmony_ci     * Indicates the request timed out.
366661847f8eSopenharmony_ci     *
366761847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
366861847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
366961847f8eSopenharmony_ci     * @since 11
367061847f8eSopenharmony_ci     */
367161847f8eSopenharmony_ci    TYPE_REQUEST_TIMED_OUT,
367261847f8eSopenharmony_ci    /**
367361847f8eSopenharmony_ci     * Indicates the request rejected by remote.
367461847f8eSopenharmony_ci     *
367561847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
367661847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
367761847f8eSopenharmony_ci     * @since 11
367861847f8eSopenharmony_ci     */
367961847f8eSopenharmony_ci    TYPE_REQUEST_REJECTED_BY_REMOTE,
368061847f8eSopenharmony_ci    /**
368161847f8eSopenharmony_ci     * Indicates the upgrade request canceled.
368261847f8eSopenharmony_ci     *
368361847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
368461847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
368561847f8eSopenharmony_ci     * @since 11
368661847f8eSopenharmony_ci     */
368761847f8eSopenharmony_ci    TYPE_REQUEST_UPGRADE_CANCELED,
368861847f8eSopenharmony_ci    /**
368961847f8eSopenharmony_ci     * Indicates the ImsCall Mode downgrade RTP time out.
369061847f8eSopenharmony_ci     *
369161847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
369261847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
369361847f8eSopenharmony_ci     * @since 11
369461847f8eSopenharmony_ci     */
369561847f8eSopenharmony_ci    TYPE_DOWNGRADE_RTP_OR_RTCP_TIMEOUT = 100,
369661847f8eSopenharmony_ci    /**
369761847f8eSopenharmony_ci     * Indicates the ImsCall Mode downgrade RTP and RTCP time out.
369861847f8eSopenharmony_ci     *
369961847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
370061847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
370161847f8eSopenharmony_ci     * @since 11
370261847f8eSopenharmony_ci     */
370361847f8eSopenharmony_ci    TYPE_DOWNGRADE_RTP_AND_RTCP_TIMEOUT,
370461847f8eSopenharmony_ci  }
370561847f8eSopenharmony_ci
370661847f8eSopenharmony_ci  /**
370761847f8eSopenharmony_ci   * Indicates the type of device direction.
370861847f8eSopenharmony_ci   *
370961847f8eSopenharmony_ci   * @enum { number }
371061847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
371161847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
371261847f8eSopenharmony_ci   * @since 11
371361847f8eSopenharmony_ci   */
371461847f8eSopenharmony_ci  export enum DeviceDirection {
371561847f8eSopenharmony_ci    /**
371661847f8eSopenharmony_ci     * Indicates the device direction is 0 degree.
371761847f8eSopenharmony_ci     *
371861847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
371961847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
372061847f8eSopenharmony_ci     * @since 11
372161847f8eSopenharmony_ci     */
372261847f8eSopenharmony_ci    DEVICE_DIRECTION_0 = 0,
372361847f8eSopenharmony_ci    /**
372461847f8eSopenharmony_ci     * Indicates the device direction is 90 degree.
372561847f8eSopenharmony_ci     *
372661847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
372761847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
372861847f8eSopenharmony_ci     * @since 11
372961847f8eSopenharmony_ci     */
373061847f8eSopenharmony_ci    DEVICE_DIRECTION_90 = 90,
373161847f8eSopenharmony_ci    /**
373261847f8eSopenharmony_ci     * Indicates the device direction is 180 degree.
373361847f8eSopenharmony_ci     *
373461847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
373561847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
373661847f8eSopenharmony_ci     * @since 11
373761847f8eSopenharmony_ci     */
373861847f8eSopenharmony_ci    DEVICE_DIRECTION_180 = 180,
373961847f8eSopenharmony_ci    /**
374061847f8eSopenharmony_ci     * Indicates the device direction is 270 degree.
374161847f8eSopenharmony_ci     *
374261847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
374361847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
374461847f8eSopenharmony_ci     * @since 11
374561847f8eSopenharmony_ci     */
374661847f8eSopenharmony_ci    DEVICE_DIRECTION_270 = 270,
374761847f8eSopenharmony_ci  }
374861847f8eSopenharmony_ci
374961847f8eSopenharmony_ci  /**
375061847f8eSopenharmony_ci   * Indicates the type of video call event.
375161847f8eSopenharmony_ci   *
375261847f8eSopenharmony_ci   * @enum { number }
375361847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
375461847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
375561847f8eSopenharmony_ci   * @since 11
375661847f8eSopenharmony_ci   */
375761847f8eSopenharmony_ci  export enum CallSessionEventId {
375861847f8eSopenharmony_ci    /**
375961847f8eSopenharmony_ci     * Indicates set camera fail event.
376061847f8eSopenharmony_ci     *
376161847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
376261847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
376361847f8eSopenharmony_ci     * @since 11
376461847f8eSopenharmony_ci     */
376561847f8eSopenharmony_ci    EVENT_CONTROL_CAMERA_FAILURE = 0,
376661847f8eSopenharmony_ci    /**
376761847f8eSopenharmony_ci     * Indicates set camera successful event.
376861847f8eSopenharmony_ci     *
376961847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
377061847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
377161847f8eSopenharmony_ci     * @since 11
377261847f8eSopenharmony_ci     */
377361847f8eSopenharmony_ci    EVENT_CONTROL_CAMERA_READY,
377461847f8eSopenharmony_ci    /**
377561847f8eSopenharmony_ci     * Indicates release display surface event.
377661847f8eSopenharmony_ci     *
377761847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
377861847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
377961847f8eSopenharmony_ci     * @since 11
378061847f8eSopenharmony_ci     */
378161847f8eSopenharmony_ci    EVENT_DISPLAY_SURFACE_RELEASED = 100,
378261847f8eSopenharmony_ci    /**
378361847f8eSopenharmony_ci     * Indicates release preview surface event.
378461847f8eSopenharmony_ci     *
378561847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
378661847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
378761847f8eSopenharmony_ci     * @since 11
378861847f8eSopenharmony_ci     */
378961847f8eSopenharmony_ci    EVENT_PREVIEW_SURFACE_RELEASED,
379061847f8eSopenharmony_ci  }
379161847f8eSopenharmony_ci
379261847f8eSopenharmony_ci  /**
379361847f8eSopenharmony_ci   * Indicates the detailed state of call.
379461847f8eSopenharmony_ci   *
379561847f8eSopenharmony_ci   * @enum { number }
379661847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
379761847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
379861847f8eSopenharmony_ci   * @since 7
379961847f8eSopenharmony_ci   */
380061847f8eSopenharmony_ci  export enum DetailedCallState {
380161847f8eSopenharmony_ci    /**
380261847f8eSopenharmony_ci     * Indicates the call is active.
380361847f8eSopenharmony_ci     *
380461847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
380561847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
380661847f8eSopenharmony_ci     * @since 7
380761847f8eSopenharmony_ci     */
380861847f8eSopenharmony_ci    CALL_STATUS_ACTIVE = 0,
380961847f8eSopenharmony_ci
381061847f8eSopenharmony_ci    /**
381161847f8eSopenharmony_ci     * Indicates the call is holding.
381261847f8eSopenharmony_ci     *
381361847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
381461847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
381561847f8eSopenharmony_ci     * @since 7
381661847f8eSopenharmony_ci     */
381761847f8eSopenharmony_ci    CALL_STATUS_HOLDING,
381861847f8eSopenharmony_ci
381961847f8eSopenharmony_ci    /**
382061847f8eSopenharmony_ci     * Indicates the call is dialing.
382161847f8eSopenharmony_ci     *
382261847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
382361847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
382461847f8eSopenharmony_ci     * @since 7
382561847f8eSopenharmony_ci     */
382661847f8eSopenharmony_ci    CALL_STATUS_DIALING,
382761847f8eSopenharmony_ci
382861847f8eSopenharmony_ci    /**
382961847f8eSopenharmony_ci     * Indicates the call is alerting.
383061847f8eSopenharmony_ci     *
383161847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
383261847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
383361847f8eSopenharmony_ci     * @since 7
383461847f8eSopenharmony_ci     */
383561847f8eSopenharmony_ci    CALL_STATUS_ALERTING,
383661847f8eSopenharmony_ci
383761847f8eSopenharmony_ci    /**
383861847f8eSopenharmony_ci     * Indicates the call is incoming.
383961847f8eSopenharmony_ci     *
384061847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
384161847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
384261847f8eSopenharmony_ci     * @since 7
384361847f8eSopenharmony_ci     */
384461847f8eSopenharmony_ci    CALL_STATUS_INCOMING,
384561847f8eSopenharmony_ci
384661847f8eSopenharmony_ci    /**
384761847f8eSopenharmony_ci     * Indicates the call is waiting.
384861847f8eSopenharmony_ci     *
384961847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
385061847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
385161847f8eSopenharmony_ci     * @since 7
385261847f8eSopenharmony_ci     */
385361847f8eSopenharmony_ci    CALL_STATUS_WAITING,
385461847f8eSopenharmony_ci
385561847f8eSopenharmony_ci    /**
385661847f8eSopenharmony_ci     * Indicates the call is disconnected.
385761847f8eSopenharmony_ci     *
385861847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
385961847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
386061847f8eSopenharmony_ci     * @since 7
386161847f8eSopenharmony_ci     */
386261847f8eSopenharmony_ci    CALL_STATUS_DISCONNECTED,
386361847f8eSopenharmony_ci
386461847f8eSopenharmony_ci    /**
386561847f8eSopenharmony_ci     * Indicates the call is disconnecting.
386661847f8eSopenharmony_ci     *
386761847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
386861847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
386961847f8eSopenharmony_ci     * @since 7
387061847f8eSopenharmony_ci     */
387161847f8eSopenharmony_ci    CALL_STATUS_DISCONNECTING,
387261847f8eSopenharmony_ci
387361847f8eSopenharmony_ci    /**
387461847f8eSopenharmony_ci     * Indicates the call is idle.
387561847f8eSopenharmony_ci     *
387661847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
387761847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
387861847f8eSopenharmony_ci     * @since 7
387961847f8eSopenharmony_ci     */
388061847f8eSopenharmony_ci    CALL_STATUS_IDLE,
388161847f8eSopenharmony_ci  }
388261847f8eSopenharmony_ci
388361847f8eSopenharmony_ci  /**
388461847f8eSopenharmony_ci   * Indicates the information of call restriction.
388561847f8eSopenharmony_ci   *
388661847f8eSopenharmony_ci   * @interface CallRestrictionInfo
388761847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
388861847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
388961847f8eSopenharmony_ci   * @since 8
389061847f8eSopenharmony_ci   */
389161847f8eSopenharmony_ci  export interface CallRestrictionInfo {
389261847f8eSopenharmony_ci    /**
389361847f8eSopenharmony_ci     * Indicates the type of call restriction.
389461847f8eSopenharmony_ci     *
389561847f8eSopenharmony_ci     * @type { CallRestrictionType }
389661847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
389761847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
389861847f8eSopenharmony_ci     * @since 8
389961847f8eSopenharmony_ci     */
390061847f8eSopenharmony_ci    type: CallRestrictionType;
390161847f8eSopenharmony_ci
390261847f8eSopenharmony_ci    /**
390361847f8eSopenharmony_ci     * Indicates the password required to set call restrictions.
390461847f8eSopenharmony_ci     *
390561847f8eSopenharmony_ci     * @type { string }
390661847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
390761847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
390861847f8eSopenharmony_ci     * @since 8
390961847f8eSopenharmony_ci     */
391061847f8eSopenharmony_ci    password: string;
391161847f8eSopenharmony_ci
391261847f8eSopenharmony_ci    /**
391361847f8eSopenharmony_ci     * Indicates the mode of call restriction.
391461847f8eSopenharmony_ci     *
391561847f8eSopenharmony_ci     * @type { CallRestrictionMode }
391661847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
391761847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
391861847f8eSopenharmony_ci     * @since 8
391961847f8eSopenharmony_ci     */
392061847f8eSopenharmony_ci    mode: CallRestrictionMode;
392161847f8eSopenharmony_ci  }
392261847f8eSopenharmony_ci
392361847f8eSopenharmony_ci  /**
392461847f8eSopenharmony_ci   * Indicates the mode of call restriction.
392561847f8eSopenharmony_ci   *
392661847f8eSopenharmony_ci   * @enum { number }
392761847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
392861847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
392961847f8eSopenharmony_ci   * @since 8
393061847f8eSopenharmony_ci   */
393161847f8eSopenharmony_ci  export enum CallRestrictionMode {
393261847f8eSopenharmony_ci    /**
393361847f8eSopenharmony_ci     * Indicates call restriction is deactivated.
393461847f8eSopenharmony_ci     *
393561847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
393661847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
393761847f8eSopenharmony_ci     * @since 8
393861847f8eSopenharmony_ci     */
393961847f8eSopenharmony_ci    RESTRICTION_MODE_DEACTIVATION = 0,
394061847f8eSopenharmony_ci
394161847f8eSopenharmony_ci    /**
394261847f8eSopenharmony_ci     * Indicates call restriction is activated.
394361847f8eSopenharmony_ci     *
394461847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
394561847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
394661847f8eSopenharmony_ci     * @since 8
394761847f8eSopenharmony_ci     */
394861847f8eSopenharmony_ci    RESTRICTION_MODE_ACTIVATION,
394961847f8eSopenharmony_ci  }
395061847f8eSopenharmony_ci
395161847f8eSopenharmony_ci  /**
395261847f8eSopenharmony_ci   * Indicates the options of call event.
395361847f8eSopenharmony_ci   *
395461847f8eSopenharmony_ci   * @interface CallEventOptions
395561847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
395661847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
395761847f8eSopenharmony_ci   * @since 8
395861847f8eSopenharmony_ci   */
395961847f8eSopenharmony_ci  export interface CallEventOptions {
396061847f8eSopenharmony_ci    /**
396161847f8eSopenharmony_ci     * Indicates the event ID of call ability.
396261847f8eSopenharmony_ci     *
396361847f8eSopenharmony_ci     * @type { CallAbilityEventId }
396461847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
396561847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
396661847f8eSopenharmony_ci     * @since 8
396761847f8eSopenharmony_ci     */
396861847f8eSopenharmony_ci    eventId: CallAbilityEventId,
396961847f8eSopenharmony_ci  }
397061847f8eSopenharmony_ci
397161847f8eSopenharmony_ci  /**
397261847f8eSopenharmony_ci   * Indicates the event ID of call ability.
397361847f8eSopenharmony_ci   *
397461847f8eSopenharmony_ci   * @enum { number }
397561847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
397661847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
397761847f8eSopenharmony_ci   * @since 8
397861847f8eSopenharmony_ci   */
397961847f8eSopenharmony_ci  export enum CallAbilityEventId {
398061847f8eSopenharmony_ci    /**
398161847f8eSopenharmony_ci     * Indicates there is no available carrier during dialing.
398261847f8eSopenharmony_ci     *
398361847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
398461847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
398561847f8eSopenharmony_ci     * @since 8
398661847f8eSopenharmony_ci     */
398761847f8eSopenharmony_ci    EVENT_DIAL_NO_CARRIER = 1,
398861847f8eSopenharmony_ci
398961847f8eSopenharmony_ci    /**
399061847f8eSopenharmony_ci     * Indicates invalid FDN.
399161847f8eSopenharmony_ci     *
399261847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
399361847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
399461847f8eSopenharmony_ci     * @since 8
399561847f8eSopenharmony_ci     */
399661847f8eSopenharmony_ci    EVENT_INVALID_FDN_NUMBER,
399761847f8eSopenharmony_ci
399861847f8eSopenharmony_ci    /**
399961847f8eSopenharmony_ci     * Indicates hold call fail.
400061847f8eSopenharmony_ci     *
400161847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
400261847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
400361847f8eSopenharmony_ci     * @since 11
400461847f8eSopenharmony_ci     */
400561847f8eSopenharmony_ci    EVENT_HOLD_CALL_FAILED,
400661847f8eSopenharmony_ci
400761847f8eSopenharmony_ci    /**
400861847f8eSopenharmony_ci     * Indicates swap call fail.
400961847f8eSopenharmony_ci     *
401061847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
401161847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
401261847f8eSopenharmony_ci     * @since 11
401361847f8eSopenharmony_ci     */
401461847f8eSopenharmony_ci    EVENT_SWAP_CALL_FAILED,
401561847f8eSopenharmony_ci
401661847f8eSopenharmony_ci    /**
401761847f8eSopenharmony_ci     * Indicates combine call failed.
401861847f8eSopenharmony_ci     *
401961847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
402061847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
402161847f8eSopenharmony_ci     * @since 11
402261847f8eSopenharmony_ci     */
402361847f8eSopenharmony_ci    EVENT_COMBINE_CALL_FAILED,
402461847f8eSopenharmony_ci  
402561847f8eSopenharmony_ci    /**
402661847f8eSopenharmony_ci     * Indicates split call failed.
402761847f8eSopenharmony_ci     *
402861847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
402961847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
403061847f8eSopenharmony_ci     * @since 11
403161847f8eSopenharmony_ci     */
403261847f8eSopenharmony_ci    EVENT_SPLIT_CALL_FAILED,
403361847f8eSopenharmony_ci
403461847f8eSopenharmony_ci    /**
403561847f8eSopenharmony_ci     * Indicates show full screen.
403661847f8eSopenharmony_ci     *
403761847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
403861847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
403961847f8eSopenharmony_ci     * @since 12
404061847f8eSopenharmony_ci     */
404161847f8eSopenharmony_ci    EVENT_SHOW_FULL_SCREEN,
404261847f8eSopenharmony_ci
404361847f8eSopenharmony_ci    /**
404461847f8eSopenharmony_ci     * Indicates show float window.
404561847f8eSopenharmony_ci     *
404661847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
404761847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
404861847f8eSopenharmony_ci     * @since 12
404961847f8eSopenharmony_ci     */
405061847f8eSopenharmony_ci    EVENT_SHOW_FLOAT_WINDOW,
405161847f8eSopenharmony_ci  }
405261847f8eSopenharmony_ci
405361847f8eSopenharmony_ci  /**
405461847f8eSopenharmony_ci   * Indicates the states of call.
405561847f8eSopenharmony_ci   *
405661847f8eSopenharmony_ci   * @enum { number }
405761847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
405861847f8eSopenharmony_ci   * @since 6
405961847f8eSopenharmony_ci   */
406061847f8eSopenharmony_ci  export enum CallState {
406161847f8eSopenharmony_ci    /**
406261847f8eSopenharmony_ci     * Indicates an invalid state, which is used when the call state fails to be obtained.
406361847f8eSopenharmony_ci     *
406461847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
406561847f8eSopenharmony_ci     * @since 6
406661847f8eSopenharmony_ci     */
406761847f8eSopenharmony_ci    CALL_STATE_UNKNOWN = -1,
406861847f8eSopenharmony_ci
406961847f8eSopenharmony_ci    /**
407061847f8eSopenharmony_ci     * Indicates that there is no ongoing call.
407161847f8eSopenharmony_ci     *
407261847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
407361847f8eSopenharmony_ci     * @since 6
407461847f8eSopenharmony_ci     */
407561847f8eSopenharmony_ci    CALL_STATE_IDLE = 0,
407661847f8eSopenharmony_ci
407761847f8eSopenharmony_ci    /**
407861847f8eSopenharmony_ci     * Indicates that an incoming call is ringing or waiting.
407961847f8eSopenharmony_ci     *
408061847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
408161847f8eSopenharmony_ci     * @since 6
408261847f8eSopenharmony_ci     */
408361847f8eSopenharmony_ci    CALL_STATE_RINGING = 1,
408461847f8eSopenharmony_ci
408561847f8eSopenharmony_ci    /**
408661847f8eSopenharmony_ci     * Indicates that a least one call is in the dialing, active, or hold state, and there is no new
408761847f8eSopenharmony_ci     * incoming call ringing or waiting.
408861847f8eSopenharmony_ci     *
408961847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
409061847f8eSopenharmony_ci     * @since 6
409161847f8eSopenharmony_ci     */
409261847f8eSopenharmony_ci    CALL_STATE_OFFHOOK = 2,
409361847f8eSopenharmony_ci
409461847f8eSopenharmony_ci    /**
409561847f8eSopenharmony_ci     * Indicates that call is answered
409661847f8eSopenharmony_ci     *
409761847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
409861847f8eSopenharmony_ci     * @since 11
409961847f8eSopenharmony_ci     */
410061847f8eSopenharmony_ci    CALL_STATE_ANSWERED = 3
410161847f8eSopenharmony_ci  }
410261847f8eSopenharmony_ci
410361847f8eSopenharmony_ci  /**
410461847f8eSopenharmony_ci   * Indicates the options of placing a call.
410561847f8eSopenharmony_ci   *
410661847f8eSopenharmony_ci   * @interface DialOptions
410761847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
410861847f8eSopenharmony_ci   * @since 6
410961847f8eSopenharmony_ci   */
411061847f8eSopenharmony_ci  export interface DialOptions {
411161847f8eSopenharmony_ci    /**
411261847f8eSopenharmony_ci     * Indicates whether the call to be made is a video call. The value {@code false} indicates
411361847f8eSopenharmony_ci     * a voice call.
411461847f8eSopenharmony_ci     *
411561847f8eSopenharmony_ci     * @type { ?boolean }
411661847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
411761847f8eSopenharmony_ci     * @since 6
411861847f8eSopenharmony_ci     */
411961847f8eSopenharmony_ci    extras?: boolean;
412061847f8eSopenharmony_ci
412161847f8eSopenharmony_ci    /**
412261847f8eSopenharmony_ci     * Indicates the card slot index number, ranging from 0 to the maximum card slot index number
412361847f8eSopenharmony_ci     * supported by the device.
412461847f8eSopenharmony_ci     *
412561847f8eSopenharmony_ci     * @type { ?number }
412661847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
412761847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
412861847f8eSopenharmony_ci     * @since 8
412961847f8eSopenharmony_ci     */
413061847f8eSopenharmony_ci    accountId?: number;
413161847f8eSopenharmony_ci
413261847f8eSopenharmony_ci    /**
413361847f8eSopenharmony_ci     * Indicates the type of Video state.
413461847f8eSopenharmony_ci     *
413561847f8eSopenharmony_ci     * @type { ?VideoStateType }
413661847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
413761847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
413861847f8eSopenharmony_ci     * @since 8
413961847f8eSopenharmony_ci     */
414061847f8eSopenharmony_ci    videoState?: VideoStateType;
414161847f8eSopenharmony_ci
414261847f8eSopenharmony_ci    /**
414361847f8eSopenharmony_ci     * Indicates the scenario of the call to be made.
414461847f8eSopenharmony_ci     *
414561847f8eSopenharmony_ci     * @type { ?DialScene }
414661847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
414761847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
414861847f8eSopenharmony_ci     * @since 8
414961847f8eSopenharmony_ci     */
415061847f8eSopenharmony_ci    dialScene?: DialScene;
415161847f8eSopenharmony_ci
415261847f8eSopenharmony_ci    /**
415361847f8eSopenharmony_ci     * Indicates the type of the call to be made.
415461847f8eSopenharmony_ci     *
415561847f8eSopenharmony_ci     * @type { ?DialType }
415661847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
415761847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
415861847f8eSopenharmony_ci     * @since 8
415961847f8eSopenharmony_ci     */
416061847f8eSopenharmony_ci    dialType?: DialType;
416161847f8eSopenharmony_ci  }
416261847f8eSopenharmony_ci
416361847f8eSopenharmony_ci  /**
416461847f8eSopenharmony_ci   * Indicates the options for initiating a call.
416561847f8eSopenharmony_ci   *
416661847f8eSopenharmony_ci   * @interface DialCallOptions
416761847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
416861847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
416961847f8eSopenharmony_ci   * @since 9
417061847f8eSopenharmony_ci   */
417161847f8eSopenharmony_ci  export interface DialCallOptions {
417261847f8eSopenharmony_ci    /**
417361847f8eSopenharmony_ci     * Indicates the card slot index number, ranging from 0 to the maximum card slot index number
417461847f8eSopenharmony_ci     * supported by the device.
417561847f8eSopenharmony_ci     *
417661847f8eSopenharmony_ci     * @type { ?number }
417761847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
417861847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
417961847f8eSopenharmony_ci     * @since 9
418061847f8eSopenharmony_ci     */
418161847f8eSopenharmony_ci    accountId?: number;
418261847f8eSopenharmony_ci    /**
418361847f8eSopenharmony_ci     * Indicates the type of Video state.
418461847f8eSopenharmony_ci     *
418561847f8eSopenharmony_ci     * @type { ?VideoStateType }
418661847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
418761847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
418861847f8eSopenharmony_ci     * @since 9
418961847f8eSopenharmony_ci     */
419061847f8eSopenharmony_ci    videoState?: VideoStateType;
419161847f8eSopenharmony_ci    /**
419261847f8eSopenharmony_ci     * Indicates the scenario of the call.
419361847f8eSopenharmony_ci     *
419461847f8eSopenharmony_ci     * @type { ?DialScene }
419561847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
419661847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
419761847f8eSopenharmony_ci     * @since 9
419861847f8eSopenharmony_ci     */
419961847f8eSopenharmony_ci    dialScene?: DialScene;
420061847f8eSopenharmony_ci    /**
420161847f8eSopenharmony_ci     * Indicates the type of the call.
420261847f8eSopenharmony_ci     *
420361847f8eSopenharmony_ci     * @type { ?DialType }
420461847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
420561847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
420661847f8eSopenharmony_ci     * @since 9
420761847f8eSopenharmony_ci     */
420861847f8eSopenharmony_ci    dialType?: DialType;
420961847f8eSopenharmony_ci    /**
421061847f8eSopenharmony_ci     * Indicates the extra call parameters.
421161847f8eSopenharmony_ci     *
421261847f8eSopenharmony_ci     * @type { ?Record<string, Object> }
421361847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
421461847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
421561847f8eSopenharmony_ci     * @since 14
421661847f8eSopenharmony_ci     */
421761847f8eSopenharmony_ci    extraParams?: Record<string, Object>;
421861847f8eSopenharmony_ci  }
421961847f8eSopenharmony_ci
422061847f8eSopenharmony_ci  /**
422161847f8eSopenharmony_ci   * Indicates the scenarios of the call to be made.
422261847f8eSopenharmony_ci   *
422361847f8eSopenharmony_ci   * @enum { number }
422461847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
422561847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
422661847f8eSopenharmony_ci   * @since 8
422761847f8eSopenharmony_ci   */
422861847f8eSopenharmony_ci  export enum DialScene {
422961847f8eSopenharmony_ci    /**
423061847f8eSopenharmony_ci     * Indicates this is a common call.
423161847f8eSopenharmony_ci     *
423261847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
423361847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
423461847f8eSopenharmony_ci     * @since 8
423561847f8eSopenharmony_ci     */
423661847f8eSopenharmony_ci    CALL_NORMAL = 0,
423761847f8eSopenharmony_ci
423861847f8eSopenharmony_ci    /**
423961847f8eSopenharmony_ci     * Indicates this is a privileged call.
424061847f8eSopenharmony_ci     *
424161847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
424261847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
424361847f8eSopenharmony_ci     * @since 8
424461847f8eSopenharmony_ci     */
424561847f8eSopenharmony_ci    CALL_PRIVILEGED = 1,
424661847f8eSopenharmony_ci
424761847f8eSopenharmony_ci    /**
424861847f8eSopenharmony_ci     * Indicates this is an emergency call.
424961847f8eSopenharmony_ci     *
425061847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
425161847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
425261847f8eSopenharmony_ci     * @since 8
425361847f8eSopenharmony_ci     */
425461847f8eSopenharmony_ci    CALL_EMERGENCY = 2,
425561847f8eSopenharmony_ci  }
425661847f8eSopenharmony_ci
425761847f8eSopenharmony_ci  /**
425861847f8eSopenharmony_ci   * Indicates the types of the call to be made.
425961847f8eSopenharmony_ci   *
426061847f8eSopenharmony_ci   * @enum { number }
426161847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
426261847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
426361847f8eSopenharmony_ci   * @since 8
426461847f8eSopenharmony_ci   */
426561847f8eSopenharmony_ci  export enum DialType {
426661847f8eSopenharmony_ci    /**
426761847f8eSopenharmony_ci     * Indicates this is a carrier call.
426861847f8eSopenharmony_ci     *
426961847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
427061847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
427161847f8eSopenharmony_ci     * @since 8
427261847f8eSopenharmony_ci     */
427361847f8eSopenharmony_ci    DIAL_CARRIER_TYPE = 0,
427461847f8eSopenharmony_ci
427561847f8eSopenharmony_ci    /**
427661847f8eSopenharmony_ci     * Indicates this is a call to play voice mail.
427761847f8eSopenharmony_ci     *
427861847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
427961847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
428061847f8eSopenharmony_ci     * @since 8
428161847f8eSopenharmony_ci     */
428261847f8eSopenharmony_ci    DIAL_VOICE_MAIL_TYPE = 1,
428361847f8eSopenharmony_ci
428461847f8eSopenharmony_ci    /**
428561847f8eSopenharmony_ci     * Indicates this is an OTT call.
428661847f8eSopenharmony_ci     *
428761847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
428861847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
428961847f8eSopenharmony_ci     * @since 8
429061847f8eSopenharmony_ci     */
429161847f8eSopenharmony_ci    DIAL_OTT_TYPE = 2,
429261847f8eSopenharmony_ci  }
429361847f8eSopenharmony_ci
429461847f8eSopenharmony_ci  /**
429561847f8eSopenharmony_ci   * Indicates the options for call rejection message.
429661847f8eSopenharmony_ci   *
429761847f8eSopenharmony_ci   * @interface RejectMessageOptions
429861847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
429961847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
430061847f8eSopenharmony_ci   * @since 7
430161847f8eSopenharmony_ci   */
430261847f8eSopenharmony_ci  export interface RejectMessageOptions {
430361847f8eSopenharmony_ci    /**
430461847f8eSopenharmony_ci     * Indicates the content of call rejection message.
430561847f8eSopenharmony_ci     *
430661847f8eSopenharmony_ci     * @type { string }
430761847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
430861847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
430961847f8eSopenharmony_ci     * @since 7
431061847f8eSopenharmony_ci     */
431161847f8eSopenharmony_ci    messageContent: string;
431261847f8eSopenharmony_ci  }
431361847f8eSopenharmony_ci
431461847f8eSopenharmony_ci  /**
431561847f8eSopenharmony_ci   * Indicates the result of call transfer.
431661847f8eSopenharmony_ci   *
431761847f8eSopenharmony_ci   * @interface CallTransferResult
431861847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
431961847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
432061847f8eSopenharmony_ci   * @since 8
432161847f8eSopenharmony_ci   */
432261847f8eSopenharmony_ci  export interface CallTransferResult {
432361847f8eSopenharmony_ci    /**
432461847f8eSopenharmony_ci     * Indicates the status of call forwarding.
432561847f8eSopenharmony_ci     *
432661847f8eSopenharmony_ci     * @type { TransferStatus }
432761847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
432861847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
432961847f8eSopenharmony_ci     * @since 8
433061847f8eSopenharmony_ci     */
433161847f8eSopenharmony_ci    status: TransferStatus;
433261847f8eSopenharmony_ci
433361847f8eSopenharmony_ci    /**
433461847f8eSopenharmony_ci     * Indicates the phone number of call forwarding.
433561847f8eSopenharmony_ci     *
433661847f8eSopenharmony_ci     * @type { string }
433761847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
433861847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
433961847f8eSopenharmony_ci     * @since 8
434061847f8eSopenharmony_ci     */
434161847f8eSopenharmony_ci    number: string;
434261847f8eSopenharmony_ci
434361847f8eSopenharmony_ci    /**
434461847f8eSopenharmony_ci     * Indicates the start time hours of call forwarding.
434561847f8eSopenharmony_ci     *
434661847f8eSopenharmony_ci     * @type { number }
434761847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
434861847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
434961847f8eSopenharmony_ci     * @since 9
435061847f8eSopenharmony_ci     */
435161847f8eSopenharmony_ci    startHour: number;
435261847f8eSopenharmony_ci
435361847f8eSopenharmony_ci    /**
435461847f8eSopenharmony_ci     * Indicates the start time minutes of call forwarding.
435561847f8eSopenharmony_ci     *
435661847f8eSopenharmony_ci     * @type { number }
435761847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
435861847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
435961847f8eSopenharmony_ci     * @since 9
436061847f8eSopenharmony_ci     */
436161847f8eSopenharmony_ci    startMinute: number;
436261847f8eSopenharmony_ci
436361847f8eSopenharmony_ci    /**
436461847f8eSopenharmony_ci     * Indicates the end time hours of call forwarding.
436561847f8eSopenharmony_ci     *
436661847f8eSopenharmony_ci     * @type { number }
436761847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
436861847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
436961847f8eSopenharmony_ci     * @since 9
437061847f8eSopenharmony_ci     */
437161847f8eSopenharmony_ci    endHour: number;
437261847f8eSopenharmony_ci
437361847f8eSopenharmony_ci    /**
437461847f8eSopenharmony_ci     * Indicates the end time minutes of call forwarding.
437561847f8eSopenharmony_ci     *
437661847f8eSopenharmony_ci     * @type { number }
437761847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
437861847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
437961847f8eSopenharmony_ci     * @since 9
438061847f8eSopenharmony_ci     */
438161847f8eSopenharmony_ci    endMinute: number;
438261847f8eSopenharmony_ci  }
438361847f8eSopenharmony_ci
438461847f8eSopenharmony_ci  /**
438561847f8eSopenharmony_ci   * Indicates the status of call waiting.
438661847f8eSopenharmony_ci   *
438761847f8eSopenharmony_ci   * @enum { number }
438861847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
438961847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
439061847f8eSopenharmony_ci   * @since 7
439161847f8eSopenharmony_ci   */
439261847f8eSopenharmony_ci  export enum CallWaitingStatus {
439361847f8eSopenharmony_ci    /**
439461847f8eSopenharmony_ci     * Indicates that call waiting is not enabled.
439561847f8eSopenharmony_ci     *
439661847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
439761847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
439861847f8eSopenharmony_ci     * @since 7
439961847f8eSopenharmony_ci     */
440061847f8eSopenharmony_ci    CALL_WAITING_DISABLE = 0,
440161847f8eSopenharmony_ci
440261847f8eSopenharmony_ci    /**
440361847f8eSopenharmony_ci     * Indicates that call waiting is enabled.
440461847f8eSopenharmony_ci     *
440561847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
440661847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
440761847f8eSopenharmony_ci     * @since 7
440861847f8eSopenharmony_ci     */
440961847f8eSopenharmony_ci    CALL_WAITING_ENABLE = 1
441061847f8eSopenharmony_ci  }
441161847f8eSopenharmony_ci
441261847f8eSopenharmony_ci  /**
441361847f8eSopenharmony_ci   * Indicates the status of call restriction.
441461847f8eSopenharmony_ci   *
441561847f8eSopenharmony_ci   * @enum { number }
441661847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
441761847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
441861847f8eSopenharmony_ci   * @since 8
441961847f8eSopenharmony_ci   */
442061847f8eSopenharmony_ci  export enum RestrictionStatus {
442161847f8eSopenharmony_ci    /**
442261847f8eSopenharmony_ci     * Indicates that call barring is not enabled.
442361847f8eSopenharmony_ci     *
442461847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
442561847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
442661847f8eSopenharmony_ci     * @since 8
442761847f8eSopenharmony_ci     */
442861847f8eSopenharmony_ci    RESTRICTION_DISABLE = 0,
442961847f8eSopenharmony_ci
443061847f8eSopenharmony_ci    /**
443161847f8eSopenharmony_ci     * Indicates that call barring is enabled.
443261847f8eSopenharmony_ci     *
443361847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
443461847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
443561847f8eSopenharmony_ci     * @since 8
443661847f8eSopenharmony_ci     */
443761847f8eSopenharmony_ci    RESTRICTION_ENABLE = 1
443861847f8eSopenharmony_ci  }
443961847f8eSopenharmony_ci
444061847f8eSopenharmony_ci  /**
444161847f8eSopenharmony_ci   * Indicates the status of call transfer.
444261847f8eSopenharmony_ci   *
444361847f8eSopenharmony_ci   * @enum { number }
444461847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
444561847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
444661847f8eSopenharmony_ci   * @since 8
444761847f8eSopenharmony_ci   */
444861847f8eSopenharmony_ci  export enum TransferStatus {
444961847f8eSopenharmony_ci    /**
445061847f8eSopenharmony_ci     * Indicates that call forwarding is not enabled.
445161847f8eSopenharmony_ci     *
445261847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
445361847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
445461847f8eSopenharmony_ci     * @since 8
445561847f8eSopenharmony_ci     */
445661847f8eSopenharmony_ci    TRANSFER_DISABLE = 0,
445761847f8eSopenharmony_ci
445861847f8eSopenharmony_ci    /**
445961847f8eSopenharmony_ci     * Indicates that call forwarding is enabled.
446061847f8eSopenharmony_ci     *
446161847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
446261847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
446361847f8eSopenharmony_ci     * @since 8
446461847f8eSopenharmony_ci     */
446561847f8eSopenharmony_ci    TRANSFER_ENABLE = 1
446661847f8eSopenharmony_ci  }
446761847f8eSopenharmony_ci
446861847f8eSopenharmony_ci  /**
446961847f8eSopenharmony_ci   * Indicates the option for determining if a number is an emergency number for specified slot.
447061847f8eSopenharmony_ci   *
447161847f8eSopenharmony_ci   * @interface EmergencyNumberOptions
447261847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
447361847f8eSopenharmony_ci   * @since 7
447461847f8eSopenharmony_ci   */
447561847f8eSopenharmony_ci  export interface EmergencyNumberOptions {
447661847f8eSopenharmony_ci    /**
447761847f8eSopenharmony_ci     * Indicates the card slot index number, ranging from 0 to the
447861847f8eSopenharmony_ci     * maximum card slot index number supported by the device.
447961847f8eSopenharmony_ci     *
448061847f8eSopenharmony_ci     * @type { ?number }
448161847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
448261847f8eSopenharmony_ci     * @since 7
448361847f8eSopenharmony_ci     */
448461847f8eSopenharmony_ci    slotId?: number;
448561847f8eSopenharmony_ci  }
448661847f8eSopenharmony_ci
448761847f8eSopenharmony_ci  /**
448861847f8eSopenharmony_ci   * Indicates the option for number formatting.
448961847f8eSopenharmony_ci   *
449061847f8eSopenharmony_ci   * @interface NumberFormatOptions
449161847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
449261847f8eSopenharmony_ci   * @since 7
449361847f8eSopenharmony_ci   */
449461847f8eSopenharmony_ci  export interface NumberFormatOptions {
449561847f8eSopenharmony_ci    /**
449661847f8eSopenharmony_ci     * Indicates the country code.
449761847f8eSopenharmony_ci     *
449861847f8eSopenharmony_ci     * @type { ?string }
449961847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
450061847f8eSopenharmony_ci     * @since 7
450161847f8eSopenharmony_ci     */
450261847f8eSopenharmony_ci    countryCode?: string;
450361847f8eSopenharmony_ci  }
450461847f8eSopenharmony_ci
450561847f8eSopenharmony_ci  /**
450661847f8eSopenharmony_ci   * Indicates the MMI code result.
450761847f8eSopenharmony_ci   *
450861847f8eSopenharmony_ci   * @interface MmiCodeResults
450961847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
451061847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
451161847f8eSopenharmony_ci   * @since 9
451261847f8eSopenharmony_ci   */
451361847f8eSopenharmony_ci  export interface MmiCodeResults {
451461847f8eSopenharmony_ci    /**
451561847f8eSopenharmony_ci     * Indicates the result of MMI code.
451661847f8eSopenharmony_ci     *
451761847f8eSopenharmony_ci     * @type { MmiCodeResult }
451861847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
451961847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
452061847f8eSopenharmony_ci     * @since 9
452161847f8eSopenharmony_ci     */
452261847f8eSopenharmony_ci    result: MmiCodeResult;
452361847f8eSopenharmony_ci
452461847f8eSopenharmony_ci    /**
452561847f8eSopenharmony_ci     * Indicates the message of MMI code.
452661847f8eSopenharmony_ci     *
452761847f8eSopenharmony_ci     * @type { string }
452861847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
452961847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
453061847f8eSopenharmony_ci     * @since 9
453161847f8eSopenharmony_ci     */
453261847f8eSopenharmony_ci    message: string;
453361847f8eSopenharmony_ci  }
453461847f8eSopenharmony_ci
453561847f8eSopenharmony_ci  /**
453661847f8eSopenharmony_ci   * Indicates the MMI code result.
453761847f8eSopenharmony_ci   *
453861847f8eSopenharmony_ci   * @enum { number }
453961847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
454061847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
454161847f8eSopenharmony_ci   * @since 9
454261847f8eSopenharmony_ci   */
454361847f8eSopenharmony_ci  export enum MmiCodeResult {
454461847f8eSopenharmony_ci    /**
454561847f8eSopenharmony_ci     * Indicates the result of MMI code with successfully.
454661847f8eSopenharmony_ci     *
454761847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
454861847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
454961847f8eSopenharmony_ci     * @since 9
455061847f8eSopenharmony_ci     */
455161847f8eSopenharmony_ci    MMI_CODE_SUCCESS = 0,
455261847f8eSopenharmony_ci
455361847f8eSopenharmony_ci    /**
455461847f8eSopenharmony_ci     * Indicates the result of MMI code with failed.
455561847f8eSopenharmony_ci     *
455661847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
455761847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
455861847f8eSopenharmony_ci     * @since 9
455961847f8eSopenharmony_ci     */
456061847f8eSopenharmony_ci    MMI_CODE_FAILED = 1
456161847f8eSopenharmony_ci  }
456261847f8eSopenharmony_ci
456361847f8eSopenharmony_ci  /**
456461847f8eSopenharmony_ci   * Indicates the causes of call disconnection.
456561847f8eSopenharmony_ci   *
456661847f8eSopenharmony_ci   * @enum { number }
456761847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
456861847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
456961847f8eSopenharmony_ci   * @since 8
457061847f8eSopenharmony_ci   */
457161847f8eSopenharmony_ci  export enum DisconnectedReason {
457261847f8eSopenharmony_ci    /**
457361847f8eSopenharmony_ci     * Indicates the call disconnect due to unassigned number.
457461847f8eSopenharmony_ci     *
457561847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
457661847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
457761847f8eSopenharmony_ci     * @since 8
457861847f8eSopenharmony_ci     */
457961847f8eSopenharmony_ci    UNASSIGNED_NUMBER = 1,
458061847f8eSopenharmony_ci
458161847f8eSopenharmony_ci    /**
458261847f8eSopenharmony_ci     * Indicates the call disconnect due to no route to destination.
458361847f8eSopenharmony_ci     *
458461847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
458561847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
458661847f8eSopenharmony_ci     * @since 8
458761847f8eSopenharmony_ci     */
458861847f8eSopenharmony_ci    NO_ROUTE_TO_DESTINATION = 3,
458961847f8eSopenharmony_ci
459061847f8eSopenharmony_ci    /**
459161847f8eSopenharmony_ci     * Indicates the call disconnect due to channel unacceptable.
459261847f8eSopenharmony_ci     *
459361847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
459461847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
459561847f8eSopenharmony_ci     * @since 8
459661847f8eSopenharmony_ci     */
459761847f8eSopenharmony_ci    CHANNEL_UNACCEPTABLE = 6,
459861847f8eSopenharmony_ci
459961847f8eSopenharmony_ci    /**
460061847f8eSopenharmony_ci     * Indicates the call disconnect due to operator determined barring.
460161847f8eSopenharmony_ci     *
460261847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
460361847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
460461847f8eSopenharmony_ci     * @since 8
460561847f8eSopenharmony_ci     */
460661847f8eSopenharmony_ci    OPERATOR_DETERMINED_BARRING = 8,
460761847f8eSopenharmony_ci
460861847f8eSopenharmony_ci    /**
460961847f8eSopenharmony_ci     * Indicates the call disconnect due to call completed elsewhere.
461061847f8eSopenharmony_ci     *
461161847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
461261847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
461361847f8eSopenharmony_ci     * @since 9
461461847f8eSopenharmony_ci     */
461561847f8eSopenharmony_ci    CALL_COMPLETED_ELSEWHERE = 13,
461661847f8eSopenharmony_ci
461761847f8eSopenharmony_ci    /**
461861847f8eSopenharmony_ci     * Indicates the call disconnect due to normal call clearing.
461961847f8eSopenharmony_ci     *
462061847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
462161847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
462261847f8eSopenharmony_ci     * @since 8
462361847f8eSopenharmony_ci     */
462461847f8eSopenharmony_ci    NORMAL_CALL_CLEARING = 16,
462561847f8eSopenharmony_ci
462661847f8eSopenharmony_ci    /**
462761847f8eSopenharmony_ci     * Indicates the call disconnect due to user busy.
462861847f8eSopenharmony_ci     *
462961847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
463061847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
463161847f8eSopenharmony_ci     * @since 8
463261847f8eSopenharmony_ci     */
463361847f8eSopenharmony_ci    USER_BUSY = 17,
463461847f8eSopenharmony_ci
463561847f8eSopenharmony_ci    /**
463661847f8eSopenharmony_ci     * Indicates the call disconnect due to no user responding.
463761847f8eSopenharmony_ci     *
463861847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
463961847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
464061847f8eSopenharmony_ci     * @since 8
464161847f8eSopenharmony_ci     */
464261847f8eSopenharmony_ci    NO_USER_RESPONDING = 18,
464361847f8eSopenharmony_ci
464461847f8eSopenharmony_ci    /**
464561847f8eSopenharmony_ci     * Indicates the call disconnect due to user alerting, no answer.
464661847f8eSopenharmony_ci     *
464761847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
464861847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
464961847f8eSopenharmony_ci     * @since 8
465061847f8eSopenharmony_ci     */
465161847f8eSopenharmony_ci    USER_ALERTING_NO_ANSWER = 19,
465261847f8eSopenharmony_ci
465361847f8eSopenharmony_ci    /**
465461847f8eSopenharmony_ci     * Indicates the call disconnect due to call rejected.
465561847f8eSopenharmony_ci     *
465661847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
465761847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
465861847f8eSopenharmony_ci     * @since 8
465961847f8eSopenharmony_ci     */
466061847f8eSopenharmony_ci    CALL_REJECTED = 21,
466161847f8eSopenharmony_ci
466261847f8eSopenharmony_ci    /**
466361847f8eSopenharmony_ci     * Indicates the call disconnect due to number changed.
466461847f8eSopenharmony_ci     *
466561847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
466661847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
466761847f8eSopenharmony_ci     * @since 8
466861847f8eSopenharmony_ci     */
466961847f8eSopenharmony_ci    NUMBER_CHANGED = 22,
467061847f8eSopenharmony_ci
467161847f8eSopenharmony_ci    /**
467261847f8eSopenharmony_ci     * Indicates the call rejected due to feature at the destination.
467361847f8eSopenharmony_ci     *
467461847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
467561847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
467661847f8eSopenharmony_ci     * @since 9
467761847f8eSopenharmony_ci     */
467861847f8eSopenharmony_ci    CALL_REJECTED_DUE_TO_FEATURE_AT_THE_DESTINATION = 24,
467961847f8eSopenharmony_ci
468061847f8eSopenharmony_ci    /**
468161847f8eSopenharmony_ci     * Indicates the call disconnect due to pre-emption.
468261847f8eSopenharmony_ci     *
468361847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
468461847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
468561847f8eSopenharmony_ci     * @since 9
468661847f8eSopenharmony_ci     */
468761847f8eSopenharmony_ci    FAILED_PRE_EMPTION = 25,
468861847f8eSopenharmony_ci
468961847f8eSopenharmony_ci    /**
469061847f8eSopenharmony_ci     * Indicates the call disconnect due to non selected user clearing.
469161847f8eSopenharmony_ci     *
469261847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
469361847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
469461847f8eSopenharmony_ci     * @since 9
469561847f8eSopenharmony_ci     */
469661847f8eSopenharmony_ci    NON_SELECTED_USER_CLEARING = 26,
469761847f8eSopenharmony_ci
469861847f8eSopenharmony_ci    /**
469961847f8eSopenharmony_ci     * Indicates the call disconnect due to destination out of order.
470061847f8eSopenharmony_ci     *
470161847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
470261847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
470361847f8eSopenharmony_ci     * @since 8
470461847f8eSopenharmony_ci     */
470561847f8eSopenharmony_ci    DESTINATION_OUT_OF_ORDER = 27,
470661847f8eSopenharmony_ci
470761847f8eSopenharmony_ci    /**
470861847f8eSopenharmony_ci     * Indicates the call disconnect due to invalid number format.
470961847f8eSopenharmony_ci     *
471061847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
471161847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
471261847f8eSopenharmony_ci     * @since 8
471361847f8eSopenharmony_ci     */
471461847f8eSopenharmony_ci    INVALID_NUMBER_FORMAT = 28,
471561847f8eSopenharmony_ci
471661847f8eSopenharmony_ci    /**
471761847f8eSopenharmony_ci     * Indicates the call disconnect due to facility rejected.
471861847f8eSopenharmony_ci     *
471961847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
472061847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
472161847f8eSopenharmony_ci     * @since 9
472261847f8eSopenharmony_ci     */
472361847f8eSopenharmony_ci    FACILITY_REJECTED = 29,
472461847f8eSopenharmony_ci
472561847f8eSopenharmony_ci    /**
472661847f8eSopenharmony_ci     * Indicates the call disconnect due to response to status enquiry.
472761847f8eSopenharmony_ci     *
472861847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
472961847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
473061847f8eSopenharmony_ci     * @since 9
473161847f8eSopenharmony_ci     */
473261847f8eSopenharmony_ci    RESPONSE_TO_STATUS_ENQUIRY = 30,
473361847f8eSopenharmony_ci
473461847f8eSopenharmony_ci    /**
473561847f8eSopenharmony_ci     * Indicates the call disconnected normally, no specified cause.
473661847f8eSopenharmony_ci     *
473761847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
473861847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
473961847f8eSopenharmony_ci     * @since 9
474061847f8eSopenharmony_ci     */
474161847f8eSopenharmony_ci    NORMAL_UNSPECIFIED = 31,
474261847f8eSopenharmony_ci
474361847f8eSopenharmony_ci    /**
474461847f8eSopenharmony_ci     * Indicates the call disconnect due to no circuit/channel available.
474561847f8eSopenharmony_ci     *
474661847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
474761847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
474861847f8eSopenharmony_ci     * @since 9
474961847f8eSopenharmony_ci     */
475061847f8eSopenharmony_ci    NO_CIRCUIT_CHANNEL_AVAILABLE = 34,
475161847f8eSopenharmony_ci
475261847f8eSopenharmony_ci    /**
475361847f8eSopenharmony_ci     * Indicates the call disconnect due to network out of order.
475461847f8eSopenharmony_ci     *
475561847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
475661847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
475761847f8eSopenharmony_ci     * @since 8
475861847f8eSopenharmony_ci     */
475961847f8eSopenharmony_ci    NETWORK_OUT_OF_ORDER = 38,
476061847f8eSopenharmony_ci
476161847f8eSopenharmony_ci    /**
476261847f8eSopenharmony_ci     * Indicates the call disconnect due to temporary failure.
476361847f8eSopenharmony_ci     *
476461847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
476561847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
476661847f8eSopenharmony_ci     * @since 8
476761847f8eSopenharmony_ci     */
476861847f8eSopenharmony_ci    TEMPORARY_FAILURE = 41,
476961847f8eSopenharmony_ci
477061847f8eSopenharmony_ci    /**
477161847f8eSopenharmony_ci     * Indicates the call disconnect due to switching equipment congestion.
477261847f8eSopenharmony_ci     *
477361847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
477461847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
477561847f8eSopenharmony_ci     * @since 9
477661847f8eSopenharmony_ci     */
477761847f8eSopenharmony_ci    SWITCHING_EQUIPMENT_CONGESTION = 42,
477861847f8eSopenharmony_ci
477961847f8eSopenharmony_ci    /**
478061847f8eSopenharmony_ci     * Indicates the call disconnect due to access information discarded.
478161847f8eSopenharmony_ci     *
478261847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
478361847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
478461847f8eSopenharmony_ci     * @since 9
478561847f8eSopenharmony_ci     */
478661847f8eSopenharmony_ci    ACCESS_INFORMATION_DISCARDED = 43,
478761847f8eSopenharmony_ci
478861847f8eSopenharmony_ci    /**
478961847f8eSopenharmony_ci     * Indicates the call disconnect due to requested circuit/channel not available.
479061847f8eSopenharmony_ci     *
479161847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
479261847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
479361847f8eSopenharmony_ci     * @since 9
479461847f8eSopenharmony_ci     */
479561847f8eSopenharmony_ci    REQUEST_CIRCUIT_CHANNEL_NOT_AVAILABLE = 44,
479661847f8eSopenharmony_ci
479761847f8eSopenharmony_ci    /**
479861847f8eSopenharmony_ci     * Indicates the call disconnect due to resources unavailable unspecified.
479961847f8eSopenharmony_ci     *
480061847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
480161847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
480261847f8eSopenharmony_ci     * @since 9
480361847f8eSopenharmony_ci     */
480461847f8eSopenharmony_ci    RESOURCES_UNAVAILABLE_UNSPECIFIED = 47,
480561847f8eSopenharmony_ci
480661847f8eSopenharmony_ci    /**
480761847f8eSopenharmony_ci     * Indicates the call disconnect due to quality of service unavailable.
480861847f8eSopenharmony_ci     *
480961847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
481061847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
481161847f8eSopenharmony_ci     * @since 9
481261847f8eSopenharmony_ci     */
481361847f8eSopenharmony_ci    QUALITY_OF_SERVICE_UNAVAILABLE = 49,
481461847f8eSopenharmony_ci
481561847f8eSopenharmony_ci    /**
481661847f8eSopenharmony_ci     * Indicates the call disconnect due to requested facility not subscribed.
481761847f8eSopenharmony_ci     *
481861847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
481961847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
482061847f8eSopenharmony_ci     * @since 9
482161847f8eSopenharmony_ci     */
482261847f8eSopenharmony_ci    REQUESTED_FACILITY_NOT_SUBSCRIBED = 50,
482361847f8eSopenharmony_ci
482461847f8eSopenharmony_ci    /**
482561847f8eSopenharmony_ci     * Indicates the call disconnect due to incoming calls barred within the CUG.
482661847f8eSopenharmony_ci     *
482761847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
482861847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
482961847f8eSopenharmony_ci     * @since 9
483061847f8eSopenharmony_ci     */
483161847f8eSopenharmony_ci    INCOMING_CALLS_BARRED_WITHIN_THE_CUG = 55,
483261847f8eSopenharmony_ci
483361847f8eSopenharmony_ci    /**
483461847f8eSopenharmony_ci     * Indicates the call disconnect due to bearer capability not authorized.
483561847f8eSopenharmony_ci     *
483661847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
483761847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
483861847f8eSopenharmony_ci     * @since 9
483961847f8eSopenharmony_ci     */
484061847f8eSopenharmony_ci    BEARER_CAPABILITY_NOT_AUTHORIZED = 57,
484161847f8eSopenharmony_ci
484261847f8eSopenharmony_ci    /**
484361847f8eSopenharmony_ci     * Indicates the call disconnect due to bearer capability not presently available.
484461847f8eSopenharmony_ci     *
484561847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
484661847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
484761847f8eSopenharmony_ci     * @since 9
484861847f8eSopenharmony_ci     */
484961847f8eSopenharmony_ci    BEARER_CAPABILITY_NOT_PRESENTLY_AVAILABLE = 58,
485061847f8eSopenharmony_ci
485161847f8eSopenharmony_ci    /**
485261847f8eSopenharmony_ci     * Indicates the call disconnect due to service or option not available, unspecified.
485361847f8eSopenharmony_ci     *
485461847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
485561847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
485661847f8eSopenharmony_ci     * @since 9
485761847f8eSopenharmony_ci     */
485861847f8eSopenharmony_ci    SERVICE_OR_OPTION_NOT_AVAILABLE_UNSPECIFIED = 63,
485961847f8eSopenharmony_ci
486061847f8eSopenharmony_ci    /**
486161847f8eSopenharmony_ci     * Indicates the call disconnect due to bearer service not implemented.
486261847f8eSopenharmony_ci     *
486361847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
486461847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
486561847f8eSopenharmony_ci     * @since 9
486661847f8eSopenharmony_ci     */
486761847f8eSopenharmony_ci    BEARER_SERVICE_NOT_IMPLEMENTED = 65,
486861847f8eSopenharmony_ci
486961847f8eSopenharmony_ci    /**
487061847f8eSopenharmony_ci     * Indicates the call disconnect due to ACM equal to or greater than the maximum value.
487161847f8eSopenharmony_ci     *
487261847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
487361847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
487461847f8eSopenharmony_ci     * @since 9
487561847f8eSopenharmony_ci     */
487661847f8eSopenharmony_ci    ACM_EQUALTO_OR_GREATER_THAN_THE_MAXIMUM_VALUE = 68,
487761847f8eSopenharmony_ci
487861847f8eSopenharmony_ci    /**
487961847f8eSopenharmony_ci     * Indicates the call disconnect due to requested facility not implemented.
488061847f8eSopenharmony_ci     *
488161847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
488261847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
488361847f8eSopenharmony_ci     * @since 9
488461847f8eSopenharmony_ci     */
488561847f8eSopenharmony_ci    REQUESTED_FACILITY_NOT_IMPLEMENTED = 69,
488661847f8eSopenharmony_ci
488761847f8eSopenharmony_ci    /**
488861847f8eSopenharmony_ci     * Indicates the call disconnect due to only restricted digital info BC available.
488961847f8eSopenharmony_ci     *
489061847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
489161847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
489261847f8eSopenharmony_ci     * @since 9
489361847f8eSopenharmony_ci     */
489461847f8eSopenharmony_ci    ONLY_RESTRICTED_DIGITAL_INFO_BEARER_CAPABILITY_IS_AVAILABLE = 70,
489561847f8eSopenharmony_ci
489661847f8eSopenharmony_ci    /**
489761847f8eSopenharmony_ci     * Indicates the call disconnect due to service or option not implemented, unspecified.
489861847f8eSopenharmony_ci     *
489961847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
490061847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
490161847f8eSopenharmony_ci     * @since 9
490261847f8eSopenharmony_ci     */
490361847f8eSopenharmony_ci    SERVICE_OR_OPTION_NOT_IMPLEMENTED_UNSPECIFIED = 79,
490461847f8eSopenharmony_ci
490561847f8eSopenharmony_ci    /**
490661847f8eSopenharmony_ci     * Indicates the call disconnect due to invalid transaction identifier value.
490761847f8eSopenharmony_ci     *
490861847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
490961847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
491061847f8eSopenharmony_ci     * @since 9
491161847f8eSopenharmony_ci     */
491261847f8eSopenharmony_ci    INVALID_TRANSACTION_IDENTIFIER_VALUE = 81,
491361847f8eSopenharmony_ci
491461847f8eSopenharmony_ci    /**
491561847f8eSopenharmony_ci     * Indicates the call disconnect due to user not member of CUG.
491661847f8eSopenharmony_ci     *
491761847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
491861847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
491961847f8eSopenharmony_ci     * @since 9
492061847f8eSopenharmony_ci     */
492161847f8eSopenharmony_ci    USER_NOT_MEMBER_OF_CUG = 87,
492261847f8eSopenharmony_ci
492361847f8eSopenharmony_ci    /**
492461847f8eSopenharmony_ci     * Indicates the call disconnect due to incompatible destination.
492561847f8eSopenharmony_ci     *
492661847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
492761847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
492861847f8eSopenharmony_ci     * @since 9
492961847f8eSopenharmony_ci     */
493061847f8eSopenharmony_ci    INCOMPATIBLE_DESTINATION = 88,
493161847f8eSopenharmony_ci
493261847f8eSopenharmony_ci    /**
493361847f8eSopenharmony_ci     * Indicates the call disconnect due to invalid transit network selection.
493461847f8eSopenharmony_ci     *
493561847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
493661847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
493761847f8eSopenharmony_ci     * @since 9
493861847f8eSopenharmony_ci     */
493961847f8eSopenharmony_ci    INVALID_TRANSIT_NETWORK_SELECTION = 91,
494061847f8eSopenharmony_ci
494161847f8eSopenharmony_ci    /**
494261847f8eSopenharmony_ci     * Indicates the call disconnect due to semantically incorrect message.
494361847f8eSopenharmony_ci     *
494461847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
494561847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
494661847f8eSopenharmony_ci     * @since 9
494761847f8eSopenharmony_ci     */
494861847f8eSopenharmony_ci    SEMANTICALLY_INCORRECT_MESSAGE = 95,
494961847f8eSopenharmony_ci
495061847f8eSopenharmony_ci    /**
495161847f8eSopenharmony_ci     * Indicates the call disconnect due to invalid mandatory information.
495261847f8eSopenharmony_ci     *
495361847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
495461847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
495561847f8eSopenharmony_ci     * @since 9
495661847f8eSopenharmony_ci     */
495761847f8eSopenharmony_ci    INVALID_MANDATORY_INFORMATION = 96,
495861847f8eSopenharmony_ci
495961847f8eSopenharmony_ci    /**
496061847f8eSopenharmony_ci     * Indicates the call disconnect due to msg type non-existent or not implemented.
496161847f8eSopenharmony_ci     *
496261847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
496361847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
496461847f8eSopenharmony_ci     * @since 9
496561847f8eSopenharmony_ci     */
496661847f8eSopenharmony_ci    MESSAGE_TYPE_NON_EXISTENT_OR_NOT_IMPLEMENTED = 97,
496761847f8eSopenharmony_ci
496861847f8eSopenharmony_ci    /**
496961847f8eSopenharmony_ci     * Indicates the call disconnect due to msg type not compatible with protocol state.
497061847f8eSopenharmony_ci     *
497161847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
497261847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
497361847f8eSopenharmony_ci     * @since 9
497461847f8eSopenharmony_ci     */
497561847f8eSopenharmony_ci    MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 98,
497661847f8eSopenharmony_ci
497761847f8eSopenharmony_ci    /**
497861847f8eSopenharmony_ci     * Indicates the call disconnect due to IE non-existent or not implemented.
497961847f8eSopenharmony_ci     *
498061847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
498161847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
498261847f8eSopenharmony_ci     * @since 9
498361847f8eSopenharmony_ci     */
498461847f8eSopenharmony_ci    INFORMATION_ELEMENT_NON_EXISTENT_OR_NOT_IMPLEMENTED = 99,
498561847f8eSopenharmony_ci
498661847f8eSopenharmony_ci    /**
498761847f8eSopenharmony_ci     * Indicates the call disconnect due to conditional IE error.
498861847f8eSopenharmony_ci     *
498961847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
499061847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
499161847f8eSopenharmony_ci     * @since 9
499261847f8eSopenharmony_ci     */
499361847f8eSopenharmony_ci    CONDITIONAL_IE_ERROR = 100,
499461847f8eSopenharmony_ci
499561847f8eSopenharmony_ci    /**
499661847f8eSopenharmony_ci     * Indicates the call disconnect due to message not compatible with protocol state.
499761847f8eSopenharmony_ci     *
499861847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
499961847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
500061847f8eSopenharmony_ci     * @since 9
500161847f8eSopenharmony_ci     */
500261847f8eSopenharmony_ci    MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 101,
500361847f8eSopenharmony_ci
500461847f8eSopenharmony_ci    /**
500561847f8eSopenharmony_ci     * Indicates the call disconnect due to recovery on timer expiry timer number.
500661847f8eSopenharmony_ci     *
500761847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
500861847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
500961847f8eSopenharmony_ci     * @since 9
501061847f8eSopenharmony_ci     */
501161847f8eSopenharmony_ci    RECOVERY_ON_TIMER_EXPIRED = 102,
501261847f8eSopenharmony_ci
501361847f8eSopenharmony_ci    /**
501461847f8eSopenharmony_ci     * Indicates the call disconnect due to protocol error, unspecified.
501561847f8eSopenharmony_ci     *
501661847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
501761847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
501861847f8eSopenharmony_ci     * @since 9
501961847f8eSopenharmony_ci     */
502061847f8eSopenharmony_ci    PROTOCOL_ERROR_UNSPECIFIED = 111,
502161847f8eSopenharmony_ci
502261847f8eSopenharmony_ci    /**
502361847f8eSopenharmony_ci     * Indicates the call disconnect due to interworking, unspecified.
502461847f8eSopenharmony_ci     *
502561847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
502661847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
502761847f8eSopenharmony_ci     * @since 9
502861847f8eSopenharmony_ci     */
502961847f8eSopenharmony_ci    INTERWORKING_UNSPECIFIED = 127,
503061847f8eSopenharmony_ci
503161847f8eSopenharmony_ci    /**
503261847f8eSopenharmony_ci     * Indicates the call disconnect due to call barred.
503361847f8eSopenharmony_ci     *
503461847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
503561847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
503661847f8eSopenharmony_ci     * @since 9
503761847f8eSopenharmony_ci     */
503861847f8eSopenharmony_ci    CALL_BARRED = 240,
503961847f8eSopenharmony_ci
504061847f8eSopenharmony_ci    /**
504161847f8eSopenharmony_ci     * Indicates the call disconnect due to FDN blocked.
504261847f8eSopenharmony_ci     *
504361847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
504461847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
504561847f8eSopenharmony_ci     * @since 9
504661847f8eSopenharmony_ci     */
504761847f8eSopenharmony_ci    FDN_BLOCKED = 241,
504861847f8eSopenharmony_ci
504961847f8eSopenharmony_ci    /**
505061847f8eSopenharmony_ci     * Indicates the call disconnect due to IMSI in VLR is unknown.
505161847f8eSopenharmony_ci     *
505261847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
505361847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
505461847f8eSopenharmony_ci     * @since 9
505561847f8eSopenharmony_ci     */
505661847f8eSopenharmony_ci    IMSI_UNKNOWN_IN_VLR = 242,
505761847f8eSopenharmony_ci
505861847f8eSopenharmony_ci    /**
505961847f8eSopenharmony_ci     * Indicates the call disconnect due to IMEI not accepted.
506061847f8eSopenharmony_ci     *
506161847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
506261847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
506361847f8eSopenharmony_ci     * @since 9
506461847f8eSopenharmony_ci     */
506561847f8eSopenharmony_ci    IMEI_NOT_ACCEPTED = 243,
506661847f8eSopenharmony_ci
506761847f8eSopenharmony_ci    /**
506861847f8eSopenharmony_ci     * Indicates the call disconnect due to dial modified to USSD.
506961847f8eSopenharmony_ci     *
507061847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
507161847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
507261847f8eSopenharmony_ci     * @since 9
507361847f8eSopenharmony_ci     */
507461847f8eSopenharmony_ci    DIAL_MODIFIED_TO_USSD = 244,
507561847f8eSopenharmony_ci
507661847f8eSopenharmony_ci    /**
507761847f8eSopenharmony_ci     * Indicates the call disconnect due to dial modified to SS.
507861847f8eSopenharmony_ci     *
507961847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
508061847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
508161847f8eSopenharmony_ci     * @since 9
508261847f8eSopenharmony_ci     */
508361847f8eSopenharmony_ci    DIAL_MODIFIED_TO_SS = 245,
508461847f8eSopenharmony_ci
508561847f8eSopenharmony_ci    /**
508661847f8eSopenharmony_ci     * Indicates the call disconnect due to dial modified to dial.
508761847f8eSopenharmony_ci     *
508861847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
508961847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
509061847f8eSopenharmony_ci     * @since 9
509161847f8eSopenharmony_ci     */
509261847f8eSopenharmony_ci    DIAL_MODIFIED_TO_DIAL = 246,
509361847f8eSopenharmony_ci
509461847f8eSopenharmony_ci    /**
509561847f8eSopenharmony_ci     * Indicates the call disconnect due to Radio off.
509661847f8eSopenharmony_ci     *
509761847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
509861847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
509961847f8eSopenharmony_ci     * @since 9
510061847f8eSopenharmony_ci     */
510161847f8eSopenharmony_ci    RADIO_OFF = 247,
510261847f8eSopenharmony_ci
510361847f8eSopenharmony_ci    /**
510461847f8eSopenharmony_ci     * Indicates the call disconnect due to out of service.
510561847f8eSopenharmony_ci     *
510661847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
510761847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
510861847f8eSopenharmony_ci     * @since 9
510961847f8eSopenharmony_ci     */
511061847f8eSopenharmony_ci    OUT_OF_SERVICE = 248,
511161847f8eSopenharmony_ci
511261847f8eSopenharmony_ci    /**
511361847f8eSopenharmony_ci     * Indicates the call disconnect due to invalid SIM.
511461847f8eSopenharmony_ci     *
511561847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
511661847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
511761847f8eSopenharmony_ci     * @since 9
511861847f8eSopenharmony_ci     */
511961847f8eSopenharmony_ci    NO_VALID_SIM = 249,
512061847f8eSopenharmony_ci
512161847f8eSopenharmony_ci    /**
512261847f8eSopenharmony_ci     * Indicates the call disconnect due to radio internal error.
512361847f8eSopenharmony_ci     *
512461847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
512561847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
512661847f8eSopenharmony_ci     * @since 9
512761847f8eSopenharmony_ci     */
512861847f8eSopenharmony_ci    RADIO_INTERNAL_ERROR = 250,
512961847f8eSopenharmony_ci
513061847f8eSopenharmony_ci    /**
513161847f8eSopenharmony_ci     * Indicates the call disconnect due to network response timeout.
513261847f8eSopenharmony_ci     *
513361847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
513461847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
513561847f8eSopenharmony_ci     * @since 9
513661847f8eSopenharmony_ci     */
513761847f8eSopenharmony_ci    NETWORK_RESP_TIMEOUT = 251,
513861847f8eSopenharmony_ci
513961847f8eSopenharmony_ci    /**
514061847f8eSopenharmony_ci     * Indicates the call disconnect due to network reject.
514161847f8eSopenharmony_ci     *
514261847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
514361847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
514461847f8eSopenharmony_ci     * @since 9
514561847f8eSopenharmony_ci     */
514661847f8eSopenharmony_ci    NETWORK_REJECT = 252,
514761847f8eSopenharmony_ci
514861847f8eSopenharmony_ci    /**
514961847f8eSopenharmony_ci     * Indicates the call disconnect due to radio access failure.
515061847f8eSopenharmony_ci     *
515161847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
515261847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
515361847f8eSopenharmony_ci     * @since 9
515461847f8eSopenharmony_ci     */
515561847f8eSopenharmony_ci    RADIO_ACCESS_FAILURE = 253,
515661847f8eSopenharmony_ci
515761847f8eSopenharmony_ci    /**
515861847f8eSopenharmony_ci     * Indicates the call disconnect due to radio link failure.
515961847f8eSopenharmony_ci     *
516061847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
516161847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
516261847f8eSopenharmony_ci     * @since 9
516361847f8eSopenharmony_ci     */
516461847f8eSopenharmony_ci    RADIO_LINK_FAILURE = 254,
516561847f8eSopenharmony_ci
516661847f8eSopenharmony_ci    /**
516761847f8eSopenharmony_ci     * Indicates the call disconnect due to radio link lost.
516861847f8eSopenharmony_ci     *
516961847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
517061847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
517161847f8eSopenharmony_ci     * @since 9
517261847f8eSopenharmony_ci     */
517361847f8eSopenharmony_ci    RADIO_LINK_LOST = 255,
517461847f8eSopenharmony_ci
517561847f8eSopenharmony_ci    /**
517661847f8eSopenharmony_ci     * Indicates the call disconnect due to radio uplink failure.
517761847f8eSopenharmony_ci     *
517861847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
517961847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
518061847f8eSopenharmony_ci     * @since 9
518161847f8eSopenharmony_ci     */
518261847f8eSopenharmony_ci    RADIO_UPLINK_FAILURE = 256,
518361847f8eSopenharmony_ci
518461847f8eSopenharmony_ci    /**
518561847f8eSopenharmony_ci     * Indicates the call disconnect due to radio setup failure.
518661847f8eSopenharmony_ci     *
518761847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
518861847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
518961847f8eSopenharmony_ci     * @since 9
519061847f8eSopenharmony_ci     */
519161847f8eSopenharmony_ci    RADIO_SETUP_FAILURE = 257,
519261847f8eSopenharmony_ci
519361847f8eSopenharmony_ci    /**
519461847f8eSopenharmony_ci     * Indicates the call disconnect due to radio release normal.
519561847f8eSopenharmony_ci     *
519661847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
519761847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
519861847f8eSopenharmony_ci     * @since 9
519961847f8eSopenharmony_ci     */
520061847f8eSopenharmony_ci    RADIO_RELEASE_NORMAL = 258,
520161847f8eSopenharmony_ci
520261847f8eSopenharmony_ci    /**
520361847f8eSopenharmony_ci     * Indicates the call disconnect due to radio release abnormal.
520461847f8eSopenharmony_ci     *
520561847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
520661847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
520761847f8eSopenharmony_ci     * @since 9
520861847f8eSopenharmony_ci     */
520961847f8eSopenharmony_ci    RADIO_RELEASE_ABNORMAL = 259,
521061847f8eSopenharmony_ci
521161847f8eSopenharmony_ci    /**
521261847f8eSopenharmony_ci     * Indicates the call disconnect due to access class blocked.
521361847f8eSopenharmony_ci     *
521461847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
521561847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
521661847f8eSopenharmony_ci     * @since 9
521761847f8eSopenharmony_ci     */
521861847f8eSopenharmony_ci    ACCESS_CLASS_BLOCKED = 260,
521961847f8eSopenharmony_ci
522061847f8eSopenharmony_ci    /**
522161847f8eSopenharmony_ci     * Indicates the call disconnect due to network detach.
522261847f8eSopenharmony_ci     *
522361847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
522461847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
522561847f8eSopenharmony_ci     * @since 9
522661847f8eSopenharmony_ci     */
522761847f8eSopenharmony_ci    NETWORK_DETACH = 261,
522861847f8eSopenharmony_ci
522961847f8eSopenharmony_ci    /**
523061847f8eSopenharmony_ci     * Indicates the call disconnect due to invalid parameter.
523161847f8eSopenharmony_ci     *
523261847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
523361847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
523461847f8eSopenharmony_ci     * @since 8
523561847f8eSopenharmony_ci     */
523661847f8eSopenharmony_ci    INVALID_PARAMETER = 1025,
523761847f8eSopenharmony_ci
523861847f8eSopenharmony_ci    /**
523961847f8eSopenharmony_ci     * Indicates the call disconnect due to sim not exit.
524061847f8eSopenharmony_ci     *
524161847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
524261847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
524361847f8eSopenharmony_ci     * @since 8
524461847f8eSopenharmony_ci     */
524561847f8eSopenharmony_ci    SIM_NOT_EXIT = 1026,
524661847f8eSopenharmony_ci
524761847f8eSopenharmony_ci    /**
524861847f8eSopenharmony_ci     * Indicates the call disconnect due to sim pin need.
524961847f8eSopenharmony_ci     *
525061847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
525161847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
525261847f8eSopenharmony_ci     * @since 8
525361847f8eSopenharmony_ci     */
525461847f8eSopenharmony_ci    SIM_PIN_NEED = 1027,
525561847f8eSopenharmony_ci
525661847f8eSopenharmony_ci    /**
525761847f8eSopenharmony_ci     * Indicates the call disconnect due to call not allow.
525861847f8eSopenharmony_ci     *
525961847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
526061847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
526161847f8eSopenharmony_ci     * @since 8
526261847f8eSopenharmony_ci     */
526361847f8eSopenharmony_ci    CALL_NOT_ALLOW = 1029,
526461847f8eSopenharmony_ci
526561847f8eSopenharmony_ci    /**
526661847f8eSopenharmony_ci     * Indicates the call disconnect due to sim invalid.
526761847f8eSopenharmony_ci     *
526861847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
526961847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
527061847f8eSopenharmony_ci     * @since 8
527161847f8eSopenharmony_ci     */
527261847f8eSopenharmony_ci    SIM_INVALID = 1045,
527361847f8eSopenharmony_ci
527461847f8eSopenharmony_ci    /**
527561847f8eSopenharmony_ci     * Indicates the call disconnect due to unknown error.
527661847f8eSopenharmony_ci     *
527761847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
527861847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
527961847f8eSopenharmony_ci     * @since 8
528061847f8eSopenharmony_ci     */
528161847f8eSopenharmony_ci    UNKNOWN = 1279,
528261847f8eSopenharmony_ci  }
528361847f8eSopenharmony_ci
528461847f8eSopenharmony_ci  /**
528561847f8eSopenharmony_ci   * Indicates the cause of a call disconnection.
528661847f8eSopenharmony_ci   *
528761847f8eSopenharmony_ci   * @interface DisconnectedDetails
528861847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
528961847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
529061847f8eSopenharmony_ci   * @since 9
529161847f8eSopenharmony_ci   */
529261847f8eSopenharmony_ci  export interface DisconnectedDetails {
529361847f8eSopenharmony_ci    /**
529461847f8eSopenharmony_ci     * Indicates the reason for ending the call.
529561847f8eSopenharmony_ci     *
529661847f8eSopenharmony_ci     * @type { DisconnectedReason }
529761847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
529861847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
529961847f8eSopenharmony_ci     * @since 9
530061847f8eSopenharmony_ci     */
530161847f8eSopenharmony_ci    reason: DisconnectedReason;
530261847f8eSopenharmony_ci    /**
530361847f8eSopenharmony_ci     * Indicates the message for ending the call.
530461847f8eSopenharmony_ci     *
530561847f8eSopenharmony_ci     * @type { string }
530661847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
530761847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
530861847f8eSopenharmony_ci     * @since 9
530961847f8eSopenharmony_ci     */
531061847f8eSopenharmony_ci    message: string;
531161847f8eSopenharmony_ci  }
531261847f8eSopenharmony_ci
531361847f8eSopenharmony_ci  /**
531461847f8eSopenharmony_ci   * Indicates the ims call mode info of a video call.
531561847f8eSopenharmony_ci   *
531661847f8eSopenharmony_ci   * @interface ImsCallModeInfo
531761847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
531861847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
531961847f8eSopenharmony_ci   * @since 11
532061847f8eSopenharmony_ci   */
532161847f8eSopenharmony_ci  export interface ImsCallModeInfo {
532261847f8eSopenharmony_ci    /**
532361847f8eSopenharmony_ci     * Indicates the id of call.
532461847f8eSopenharmony_ci     *
532561847f8eSopenharmony_ci     * @type { number }
532661847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
532761847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
532861847f8eSopenharmony_ci     * @since 11
532961847f8eSopenharmony_ci     */
533061847f8eSopenharmony_ci    callId: number;
533161847f8eSopenharmony_ci    /**
533261847f8eSopenharmony_ci     * Indicates the request result.
533361847f8eSopenharmony_ci     *
533461847f8eSopenharmony_ci     * @type { VideoRequestResultType }
533561847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
533661847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
533761847f8eSopenharmony_ci     * @since 11
533861847f8eSopenharmony_ci     */
533961847f8eSopenharmony_ci    result: VideoRequestResultType;
534061847f8eSopenharmony_ci    /**
534161847f8eSopenharmony_ci     * Indicates if this is a request which received from remote,
534261847f8eSopenharmony_ci     *
534361847f8eSopenharmony_ci     * @type { boolean }
534461847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
534561847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
534661847f8eSopenharmony_ci     * @since 11
534761847f8eSopenharmony_ci     */
534861847f8eSopenharmony_ci    isRequestInfo: boolean;
534961847f8eSopenharmony_ci    /**
535061847f8eSopenharmony_ci     * Indicates the ImsCallMode of call.
535161847f8eSopenharmony_ci     *
535261847f8eSopenharmony_ci     * @type { ImsCallMode }
535361847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
535461847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
535561847f8eSopenharmony_ci     * @since 11
535661847f8eSopenharmony_ci     */
535761847f8eSopenharmony_ci    imsCallMode: ImsCallMode;
535861847f8eSopenharmony_ci  }
535961847f8eSopenharmony_ci
536061847f8eSopenharmony_ci  /**
536161847f8eSopenharmony_ci   * Indicates the call session event of a video call.
536261847f8eSopenharmony_ci   *
536361847f8eSopenharmony_ci   * @interface CallSessionEvent
536461847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
536561847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
536661847f8eSopenharmony_ci   * @since 11
536761847f8eSopenharmony_ci   */
536861847f8eSopenharmony_ci  export interface CallSessionEvent {
536961847f8eSopenharmony_ci    /**
537061847f8eSopenharmony_ci     * Indicates the id of call.
537161847f8eSopenharmony_ci     *
537261847f8eSopenharmony_ci     * @type { number }
537361847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
537461847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
537561847f8eSopenharmony_ci     * @since 11
537661847f8eSopenharmony_ci     */
537761847f8eSopenharmony_ci    callId: number;
537861847f8eSopenharmony_ci    /**
537961847f8eSopenharmony_ci     * Indicates the event id of video call.
538061847f8eSopenharmony_ci     *
538161847f8eSopenharmony_ci     * @type { CallSessionEventId }
538261847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
538361847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
538461847f8eSopenharmony_ci     * @since 11
538561847f8eSopenharmony_ci     */
538661847f8eSopenharmony_ci    eventId: CallSessionEventId;
538761847f8eSopenharmony_ci  }
538861847f8eSopenharmony_ci
538961847f8eSopenharmony_ci  /**
539061847f8eSopenharmony_ci   * Indicates the peer dimension.
539161847f8eSopenharmony_ci   *
539261847f8eSopenharmony_ci   * @interface PeerDimensionsDetail
539361847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
539461847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
539561847f8eSopenharmony_ci   * @since 11
539661847f8eSopenharmony_ci   */
539761847f8eSopenharmony_ci  export interface PeerDimensionsDetail {
539861847f8eSopenharmony_ci    /**
539961847f8eSopenharmony_ci     * Indicates the id of call.
540061847f8eSopenharmony_ci     *
540161847f8eSopenharmony_ci     * @type { number }
540261847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
540361847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
540461847f8eSopenharmony_ci     * @since 11
540561847f8eSopenharmony_ci     */
540661847f8eSopenharmony_ci    callId: number;
540761847f8eSopenharmony_ci    /**
540861847f8eSopenharmony_ci     * Indicates the peer dimensions width.
540961847f8eSopenharmony_ci     *
541061847f8eSopenharmony_ci     * @type { number }
541161847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
541261847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
541361847f8eSopenharmony_ci     * @since 11
541461847f8eSopenharmony_ci     */
541561847f8eSopenharmony_ci    width: number;
541661847f8eSopenharmony_ci    /**
541761847f8eSopenharmony_ci     * Indicates the the peer dimensions height.
541861847f8eSopenharmony_ci     *
541961847f8eSopenharmony_ci     * @type { number }
542061847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
542161847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
542261847f8eSopenharmony_ci     * @since 11
542361847f8eSopenharmony_ci     */
542461847f8eSopenharmony_ci    height: number;
542561847f8eSopenharmony_ci  }
542661847f8eSopenharmony_ci
542761847f8eSopenharmony_ci  /**
542861847f8eSopenharmony_ci   * Indicates the camera capabilities.
542961847f8eSopenharmony_ci   *
543061847f8eSopenharmony_ci   * @interface CameraCapabilities
543161847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
543261847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
543361847f8eSopenharmony_ci   * @since 11
543461847f8eSopenharmony_ci   */
543561847f8eSopenharmony_ci  export interface CameraCapabilities {
543661847f8eSopenharmony_ci    /**
543761847f8eSopenharmony_ci     * Indicates the id of call.
543861847f8eSopenharmony_ci     *
543961847f8eSopenharmony_ci     * @type { number }
544061847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
544161847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
544261847f8eSopenharmony_ci     * @since 11
544361847f8eSopenharmony_ci     */
544461847f8eSopenharmony_ci    callId: number;
544561847f8eSopenharmony_ci    /**
544661847f8eSopenharmony_ci     * Indicates the camera width.
544761847f8eSopenharmony_ci     *
544861847f8eSopenharmony_ci     * @type { number }
544961847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
545061847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
545161847f8eSopenharmony_ci     * @since 11
545261847f8eSopenharmony_ci     */
545361847f8eSopenharmony_ci    width: number;
545461847f8eSopenharmony_ci    /**
545561847f8eSopenharmony_ci     * Indicates the the camera height.
545661847f8eSopenharmony_ci     *
545761847f8eSopenharmony_ci     * @type { number }
545861847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
545961847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
546061847f8eSopenharmony_ci     * @since 11
546161847f8eSopenharmony_ci     */
546261847f8eSopenharmony_ci    height: number;
546361847f8eSopenharmony_ci  }
546461847f8eSopenharmony_ci
546561847f8eSopenharmony_ci  /**
546661847f8eSopenharmony_ci   * Indicates the mark information of the phone number.
546761847f8eSopenharmony_ci   *
546861847f8eSopenharmony_ci   * @interface NumberMarkInfo
546961847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
547061847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
547161847f8eSopenharmony_ci   * @since 12
547261847f8eSopenharmony_ci   */
547361847f8eSopenharmony_ci  export interface NumberMarkInfo {
547461847f8eSopenharmony_ci    /**
547561847f8eSopenharmony_ci     * Indicates the type of number mark.
547661847f8eSopenharmony_ci     *
547761847f8eSopenharmony_ci     * @type { MarkType }
547861847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
547961847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
548061847f8eSopenharmony_ci     * @since 12
548161847f8eSopenharmony_ci     */
548261847f8eSopenharmony_ci    markType: MarkType;
548361847f8eSopenharmony_ci
548461847f8eSopenharmony_ci    /**
548561847f8eSopenharmony_ci     * Indicates the content of number mark.
548661847f8eSopenharmony_ci     *
548761847f8eSopenharmony_ci     * @type { ?string }
548861847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
548961847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
549061847f8eSopenharmony_ci     * @since 12
549161847f8eSopenharmony_ci     */
549261847f8eSopenharmony_ci    markContent?: string;
549361847f8eSopenharmony_ci
549461847f8eSopenharmony_ci    /**
549561847f8eSopenharmony_ci     * Indicates the count of number mark.
549661847f8eSopenharmony_ci     *
549761847f8eSopenharmony_ci     * @type { ?number }
549861847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
549961847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
550061847f8eSopenharmony_ci     * @since 12
550161847f8eSopenharmony_ci     */
550261847f8eSopenharmony_ci    markCount?: number;
550361847f8eSopenharmony_ci
550461847f8eSopenharmony_ci    /**
550561847f8eSopenharmony_ci     * Indicates the source of number mark.
550661847f8eSopenharmony_ci     *
550761847f8eSopenharmony_ci     * @type { ?string }
550861847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
550961847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
551061847f8eSopenharmony_ci     * @since 12
551161847f8eSopenharmony_ci     */
551261847f8eSopenharmony_ci    markSource?: string;
551361847f8eSopenharmony_ci
551461847f8eSopenharmony_ci    /**
551561847f8eSopenharmony_ci     * Indicates if this is a number mark from cloud.
551661847f8eSopenharmony_ci     *
551761847f8eSopenharmony_ci     * @type { ?boolean }
551861847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
551961847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
552061847f8eSopenharmony_ci     * @since 12
552161847f8eSopenharmony_ci     */
552261847f8eSopenharmony_ci    isCloud?: boolean;
552361847f8eSopenharmony_ci  }
552461847f8eSopenharmony_ci
552561847f8eSopenharmony_ci  /**
552661847f8eSopenharmony_ci   * Indicates the type of the number mark.
552761847f8eSopenharmony_ci   *
552861847f8eSopenharmony_ci   * @enum { number }
552961847f8eSopenharmony_ci   * @syscap SystemCapability.Telephony.CallManager
553061847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
553161847f8eSopenharmony_ci   * @since 12
553261847f8eSopenharmony_ci   */
553361847f8eSopenharmony_ci  export enum MarkType {
553461847f8eSopenharmony_ci    /**
553561847f8eSopenharmony_ci     * Indicates the mark is none.
553661847f8eSopenharmony_ci     *
553761847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
553861847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
553961847f8eSopenharmony_ci     * @since 12
554061847f8eSopenharmony_ci     */
554161847f8eSopenharmony_ci    MARK_TYPE_NONE = 0,
554261847f8eSopenharmony_ci
554361847f8eSopenharmony_ci    /**
554461847f8eSopenharmony_ci     * Indicates the mark is crank.
554561847f8eSopenharmony_ci     *
554661847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
554761847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
554861847f8eSopenharmony_ci     * @since 12
554961847f8eSopenharmony_ci     */
555061847f8eSopenharmony_ci    MARK_TYPE_CRANK = 1,
555161847f8eSopenharmony_ci
555261847f8eSopenharmony_ci    /**
555361847f8eSopenharmony_ci     * Indicates the mark is fraud.
555461847f8eSopenharmony_ci     *
555561847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
555661847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
555761847f8eSopenharmony_ci     * @since 12
555861847f8eSopenharmony_ci     */
555961847f8eSopenharmony_ci    MARK_TYPE_FRAUD = 2,
556061847f8eSopenharmony_ci
556161847f8eSopenharmony_ci    /**
556261847f8eSopenharmony_ci     * Indicates the mark is express.
556361847f8eSopenharmony_ci     *
556461847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
556561847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
556661847f8eSopenharmony_ci     * @since 12
556761847f8eSopenharmony_ci     */
556861847f8eSopenharmony_ci    MARK_TYPE_EXPRESS = 3,
556961847f8eSopenharmony_ci
557061847f8eSopenharmony_ci    /**
557161847f8eSopenharmony_ci     * Indicates the mark is promote sales.
557261847f8eSopenharmony_ci     *
557361847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
557461847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
557561847f8eSopenharmony_ci     * @since 12
557661847f8eSopenharmony_ci     */
557761847f8eSopenharmony_ci    MARK_TYPE_PROMOTE_SALES = 4,
557861847f8eSopenharmony_ci
557961847f8eSopenharmony_ci    /**
558061847f8eSopenharmony_ci     * Indicates the mark is house agent.
558161847f8eSopenharmony_ci     *
558261847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
558361847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
558461847f8eSopenharmony_ci     * @since 12
558561847f8eSopenharmony_ci     */
558661847f8eSopenharmony_ci    MARK_TYPE_HOUSE_AGENT = 5,
558761847f8eSopenharmony_ci
558861847f8eSopenharmony_ci    /**
558961847f8eSopenharmony_ci     * Indicates the mark is insurance.
559061847f8eSopenharmony_ci     *
559161847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
559261847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
559361847f8eSopenharmony_ci     * @since 12
559461847f8eSopenharmony_ci     */
559561847f8eSopenharmony_ci    MARK_TYPE_INSURANCE = 6,
559661847f8eSopenharmony_ci
559761847f8eSopenharmony_ci    /**
559861847f8eSopenharmony_ci     * Indicates the mark is taxi.
559961847f8eSopenharmony_ci     *
560061847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
560161847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
560261847f8eSopenharmony_ci     * @since 12
560361847f8eSopenharmony_ci     */
560461847f8eSopenharmony_ci    MARK_TYPE_TAXI = 7,
560561847f8eSopenharmony_ci
560661847f8eSopenharmony_ci    /**
560761847f8eSopenharmony_ci     * Indicates the mark is custom.
560861847f8eSopenharmony_ci     *
560961847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
561061847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
561161847f8eSopenharmony_ci     * @since 12
561261847f8eSopenharmony_ci     */
561361847f8eSopenharmony_ci    MARK_TYPE_CUSTOM = 8,
561461847f8eSopenharmony_ci
561561847f8eSopenharmony_ci    /**
561661847f8eSopenharmony_ci     * Indicates the mark is others.
561761847f8eSopenharmony_ci     *
561861847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
561961847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
562061847f8eSopenharmony_ci     * @since 12
562161847f8eSopenharmony_ci     */
562261847f8eSopenharmony_ci    MARK_TYPE_OTHERS = 9,
562361847f8eSopenharmony_ci
562461847f8eSopenharmony_ci    /**
562561847f8eSopenharmony_ci     * Indicates the mark is yellow page.
562661847f8eSopenharmony_ci     *
562761847f8eSopenharmony_ci     * @syscap SystemCapability.Telephony.CallManager
562861847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
562961847f8eSopenharmony_ci     * @since 12
563061847f8eSopenharmony_ci     */
563161847f8eSopenharmony_ci    MARK_TYPE_YELLOW_PAGE = 10
563261847f8eSopenharmony_ci  }
563361847f8eSopenharmony_ci}
563461847f8eSopenharmony_ci
563561847f8eSopenharmony_ciexport default call;
5636