1/*
2 * Copyright (c) 2024 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 *     http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16  /**
17   * Set the number of touchpad scrolling rows.
18   *
19   * @param { number } rows - Indicates the number of touchpad scrolling rows.
20   * @param { AsyncCallback<void> } callback - Callback used to return the result.
21   * @throws { BusinessError } 202 - SystemAPI permission error.
22   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
23   * <br>2. Incorrect parameter types; 3. Parameter verification failed.
24   * @syscap SystemCapability.MultimodalInput.Input.Pointer
25   * @systemapi hide for inner use.
26   * @since 13
27   */
28  function setTouchpadScrollRows(rows: number, callback: AsyncCallback<void>): void;
29
30  /**
31   * Set the number of touchpad scrolling rows.
32   *
33   * @param { number } rows - Indicates the number of touchpad scrolling rows.
34   * @returns { Promise<void> } Returns the result through a promise.
35   * @throws { BusinessError } 202 - SystemAPI permission error.
36   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
37   * <br>2. Incorrect parameter types; 3. Parameter verification failed.
38   * @syscap SystemCapability.MultimodalInput.Input.Pointer
39   * @systemapi hide for inner use.
40   * @since 13
41   */
42  function setTouchpadScrollRows(rows: number): Promise<void>;
43
44  /**
45   * Get the number of touchpad scrolling rows.
46   *
47   * @param { AsyncCallback<number> } callback - Callback used to return the result.
48   * @throws { BusinessError } 202 - SystemAPI permission error.
49   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
50   * <br>2. Incorrect parameter types; 3. Parameter verification failed.
51   * @syscap SystemCapability.MultimodalInput.Input.Pointer
52   * @systemapi hide for inner use.
53   * @since 13
54   */
55  function getTouchpadScrollRows(callback: AsyncCallback<number>): void;
56
57  /**
58   * Get the number of touchpad scrolling rows.
59   *
60   * @returns { Promise<number> } Returns the result through a promise.
61   * @throws { BusinessError } 202 - SystemAPI permission error.
62   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
63   * <br>2. Incorrect parameter types; 3. Parameter verification failed.
64   * @syscap SystemCapability.MultimodalInput.Input.Pointer
65   * @systemapi hide for inner use.
66   * @since 13
67   */
68  function getTouchpadScrollRows(): Promise<number>;
69
70  /**
71   * Set touchpad three finger switch state.
72   *
73   * @param { boolean } state - Indicates whether the touchpad three finger switch is enabled.
74   * <br>true: user can use three finger function. otherwise can't use.
75   * @param { AsyncCallback<void> } callback - Callback used to return the result.
76   * @throws { BusinessError } 202 - SystemAPI permission error.
77   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
78   * <br>2. Incorrect parameter types; 3. Parameter verification failed.
79   * @syscap SystemCapability.MultimodalInput.Input.Pointer
80   * @systemapi hide for inner use.
81   * @since 13
82   */
83  function setTouchpadThreeFingersTapSwitch(state: boolean, callback: AsyncCallback<void>): void;
84
85  /**
86   * Set touchpad three finger switch state.
87   *
88   * @param { boolean } state - Indicates whether the touchpad three finger switch is enabled.
89   * <br>true: user can use three finger function. otherwise can't use.
90   * @returns { Promise<void> } Returns the result through a promise.
91   * @throws { BusinessError } 202 - SystemAPI permission error.
92   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
93   * <br>2. Incorrect parameter types; 3. Parameter verification failed.
94   * @syscap SystemCapability.MultimodalInput.Input.Pointer
95   * @systemapi hide for inner use.
96   * @since 13
97   */
98  function setTouchpadThreeFingersTapSwitch(state: boolean): Promise<void>;
99
100  /**
101   * Get touchpad three finger switch state.
102   *
103   * @param { AsyncCallback<boolean> } callback - Callback used to return the result.
104   * @throws { BusinessError } 202 - SystemAPI permission error.
105   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
106   * <br>2. Incorrect parameter types; 3. Parameter verification failed.
107   * @syscap SystemCapability.MultimodalInput.Input.Pointer
108   * @systemapi hide for inner use.
109   * @since 13
110   */
111  function getTouchpadThreeFingersTapSwitch(callback: AsyncCallback<boolean>): void;
112
113  /**
114   * Get touchpad three finger switch state.
115   *
116   * @returns { Promise<boolean> } Returns the result through a promise.
117   * @throws { BusinessError } 202 - SystemAPI permission error.
118   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
119   * <br>2. Incorrect parameter types; 3. Parameter verification failed.
120   * @syscap SystemCapability.MultimodalInput.Input.Pointer
121   * @systemapi hide for inner use.
122   * @since 13
123   */
124  function getTouchpadThreeFingersTapSwitch(): Promise<boolean>;