161847f8eSopenharmony_ci/*
261847f8eSopenharmony_ci * Copyright (c) 2021-2022 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 Provides accessibility extension context
1861847f8eSopenharmony_ci * @kit AccessibilityKit
1961847f8eSopenharmony_ci */
2061847f8eSopenharmony_ci
2161847f8eSopenharmony_ciimport type { AsyncCallback } from '../@ohos.base';
2261847f8eSopenharmony_ciimport ExtensionContext from './ExtensionContext';
2361847f8eSopenharmony_ciimport type accessibility from '../@ohos.accessibility';
2461847f8eSopenharmony_ciimport type { GesturePath } from '../@ohos.accessibility.GesturePath';
2561847f8eSopenharmony_ciimport type Want from '../@ohos.app.ability.Want';
2661847f8eSopenharmony_ci
2761847f8eSopenharmony_ci/**
2861847f8eSopenharmony_ci * The accessibility extension context. Used to configure, query information, and inject gestures.
2961847f8eSopenharmony_ci *
3061847f8eSopenharmony_ci * @extends ExtensionContext
3161847f8eSopenharmony_ci * @syscap SystemCapability.BarrierFree.Accessibility.Core
3261847f8eSopenharmony_ci * @since 9
3361847f8eSopenharmony_ci */
3461847f8eSopenharmony_ciexport default class AccessibilityExtensionContext extends ExtensionContext {
3561847f8eSopenharmony_ci  /**
3661847f8eSopenharmony_ci   * Set the bundle names that is interested in sending the event.
3761847f8eSopenharmony_ci   *
3861847f8eSopenharmony_ci   * @param { Array<string> } targetNames The bundle names that are interested in sending the event.
3961847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback Indicates the listener.
4061847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Input parameter error. Possible causes:
4161847f8eSopenharmony_ci   *     1. Mandatory parameters are left unspecified;
4261847f8eSopenharmony_ci   *     2. Incorrect parameter types;
4361847f8eSopenharmony_ci   *     3. Parameter verification failed.
4461847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
4561847f8eSopenharmony_ci   * @since 9
4661847f8eSopenharmony_ci   * @deprecated since 12
4761847f8eSopenharmony_ci   */
4861847f8eSopenharmony_ci  setTargetBundleName(targetNames: Array<string>, callback: AsyncCallback<void>): void;
4961847f8eSopenharmony_ci
5061847f8eSopenharmony_ci  /**
5161847f8eSopenharmony_ci   * Set the bundle names that is interested in sending the event.
5261847f8eSopenharmony_ci   *
5361847f8eSopenharmony_ci   * @param { Array<string> } targetNames The bundle names that are interested in sending the event.
5461847f8eSopenharmony_ci   * @returns { Promise<void> }
5561847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Input parameter error. Possible causes:
5661847f8eSopenharmony_ci   *     1. Mandatory parameters are left unspecified;
5761847f8eSopenharmony_ci   *     2. Incorrect parameter types;
5861847f8eSopenharmony_ci   *     3. Parameter verification failed.
5961847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
6061847f8eSopenharmony_ci   * @since 9
6161847f8eSopenharmony_ci   * @deprecated since 12
6261847f8eSopenharmony_ci   */
6361847f8eSopenharmony_ci  setTargetBundleName(targetNames: Array<string>): Promise<void>;
6461847f8eSopenharmony_ci
6561847f8eSopenharmony_ci  /**
6661847f8eSopenharmony_ci   * Get focus element.
6761847f8eSopenharmony_ci   *
6861847f8eSopenharmony_ci   * @param { boolean } isAccessibilityFocus Indicates whether the acquired element has an accessibility focus.
6961847f8eSopenharmony_ci   * @param { AsyncCallback<AccessibilityElement> } callback Indicates the listener.
7061847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Input parameter error. Possible causes:
7161847f8eSopenharmony_ci   *     1. Mandatory parameters are left unspecified;
7261847f8eSopenharmony_ci   *     2. Incorrect parameter types;
7361847f8eSopenharmony_ci   *     3. Parameter verification failed.
7461847f8eSopenharmony_ci   * @throws { BusinessError } 9300003 -  No accessibility permission to perform the operation.
7561847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
7661847f8eSopenharmony_ci   * @since 9
7761847f8eSopenharmony_ci   * @deprecated since 12
7861847f8eSopenharmony_ci   */
7961847f8eSopenharmony_ci  getFocusElement(isAccessibilityFocus: boolean, callback: AsyncCallback<AccessibilityElement>): void;
8061847f8eSopenharmony_ci
8161847f8eSopenharmony_ci  /**
8261847f8eSopenharmony_ci   * Get focus element.
8361847f8eSopenharmony_ci   *
8461847f8eSopenharmony_ci   * @param { boolean } isAccessibilityFocus Indicates whether the acquired element has an accessibility focus.
8561847f8eSopenharmony_ci   * @returns { Promise<AccessibilityElement> }
8661847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Input parameter error. Possible causes:
8761847f8eSopenharmony_ci   *     1. Mandatory parameters are left unspecified;
8861847f8eSopenharmony_ci   *     2. Incorrect parameter types;
8961847f8eSopenharmony_ci   *     3. Parameter verification failed.
9061847f8eSopenharmony_ci   * @throws { BusinessError } 9300003 -  No accessibility permission to perform the operation.
9161847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
9261847f8eSopenharmony_ci   * @since 9
9361847f8eSopenharmony_ci   * @deprecated since 12
9461847f8eSopenharmony_ci   */
9561847f8eSopenharmony_ci  getFocusElement(isAccessibilityFocus?: boolean): Promise<AccessibilityElement>;
9661847f8eSopenharmony_ci
9761847f8eSopenharmony_ci  /**
9861847f8eSopenharmony_ci   * Get focus element.
9961847f8eSopenharmony_ci   * @param { AsyncCallback<AccessibilityElement> } callback Indicates the listener.
10061847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Input parameter error. Possible causes:
10161847f8eSopenharmony_ci   *     1. Mandatory parameters are left unspecified;
10261847f8eSopenharmony_ci   *     2. Incorrect parameter types;
10361847f8eSopenharmony_ci   *     3. Parameter verification failed.
10461847f8eSopenharmony_ci   * @throws { BusinessError } 9300003 -  No accessibility permission to perform the operation.
10561847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
10661847f8eSopenharmony_ci   * @since 9
10761847f8eSopenharmony_ci   * @deprecated since 12
10861847f8eSopenharmony_ci   */
10961847f8eSopenharmony_ci  getFocusElement(callback: AsyncCallback<AccessibilityElement>): void;
11061847f8eSopenharmony_ci
11161847f8eSopenharmony_ci  /**
11261847f8eSopenharmony_ci   * Get window root element.
11361847f8eSopenharmony_ci   *
11461847f8eSopenharmony_ci   * @param { number } windowId Indicates the window ID.
11561847f8eSopenharmony_ci   * @param { AsyncCallback<AccessibilityElement> } callback Indicates the listener.
11661847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Input parameter error. Possible causes:
11761847f8eSopenharmony_ci   *     1. Mandatory parameters are left unspecified;
11861847f8eSopenharmony_ci   *     2. Incorrect parameter types;
11961847f8eSopenharmony_ci   *     3. Parameter verification failed.
12061847f8eSopenharmony_ci   * @throws { BusinessError } 9300003 -  No accessibility permission to perform the operation.
12161847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
12261847f8eSopenharmony_ci   * @since 9
12361847f8eSopenharmony_ci   * @deprecated since 12
12461847f8eSopenharmony_ci   */
12561847f8eSopenharmony_ci  getWindowRootElement(windowId: number, callback: AsyncCallback<AccessibilityElement>): void;
12661847f8eSopenharmony_ci
12761847f8eSopenharmony_ci  /**
12861847f8eSopenharmony_ci   * Get window root element.
12961847f8eSopenharmony_ci   *
13061847f8eSopenharmony_ci   * @param { number } windowId Indicates the window ID.
13161847f8eSopenharmony_ci   * @returns { Promise<AccessibilityElement> }
13261847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Input parameter error. Possible causes:
13361847f8eSopenharmony_ci   *     1. Mandatory parameters are left unspecified;
13461847f8eSopenharmony_ci   *     2. Incorrect parameter types;
13561847f8eSopenharmony_ci   *     3. Parameter verification failed.
13661847f8eSopenharmony_ci   * @throws { BusinessError } 9300003 -  No accessibility permission to perform the operation.
13761847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
13861847f8eSopenharmony_ci   * @since 9
13961847f8eSopenharmony_ci   * @deprecated since 12
14061847f8eSopenharmony_ci   */
14161847f8eSopenharmony_ci  getWindowRootElement(windowId?: number): Promise<AccessibilityElement>;
14261847f8eSopenharmony_ci
14361847f8eSopenharmony_ci  /**
14461847f8eSopenharmony_ci   * Get window root element.
14561847f8eSopenharmony_ci   * @param { AsyncCallback<AccessibilityElement> } callback Indicates the listener.
14661847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Input parameter error. Possible causes:
14761847f8eSopenharmony_ci   *     1. Mandatory parameters are left unspecified;
14861847f8eSopenharmony_ci   *     2. Incorrect parameter types;
14961847f8eSopenharmony_ci   *     3. Parameter verification failed.
15061847f8eSopenharmony_ci   * @throws { BusinessError } 9300003 -  No accessibility permission to perform the operation.
15161847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
15261847f8eSopenharmony_ci   * @since 9
15361847f8eSopenharmony_ci   * @deprecated since 12
15461847f8eSopenharmony_ci   */
15561847f8eSopenharmony_ci  getWindowRootElement(callback: AsyncCallback<AccessibilityElement>): void;
15661847f8eSopenharmony_ci
15761847f8eSopenharmony_ci  /**
15861847f8eSopenharmony_ci   * Get window list.
15961847f8eSopenharmony_ci   *
16061847f8eSopenharmony_ci   * @param { number } displayId Indicates the display ID.
16161847f8eSopenharmony_ci   * @param { AsyncCallback<Array<AccessibilityElement>> } callback Indicates the listener.
16261847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Input parameter error. Possible causes:
16361847f8eSopenharmony_ci   *     1. Mandatory parameters are left unspecified;
16461847f8eSopenharmony_ci   *     2. Incorrect parameter types;
16561847f8eSopenharmony_ci   *     3. Parameter verification failed.
16661847f8eSopenharmony_ci   * @throws { BusinessError } 9300003 -  No accessibility permission to perform the operation.
16761847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
16861847f8eSopenharmony_ci   * @since 9
16961847f8eSopenharmony_ci   * @deprecated since 12
17061847f8eSopenharmony_ci   */
17161847f8eSopenharmony_ci  getWindows(displayId: number, callback: AsyncCallback<Array<AccessibilityElement>>): void;
17261847f8eSopenharmony_ci
17361847f8eSopenharmony_ci  /**
17461847f8eSopenharmony_ci   * Get window list.
17561847f8eSopenharmony_ci   *
17661847f8eSopenharmony_ci   * @param { number } displayId Indicates the display ID.
17761847f8eSopenharmony_ci   * @returns { Promise<Array<AccessibilityElement>> }
17861847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Input parameter error. Possible causes:
17961847f8eSopenharmony_ci   *     1. Mandatory parameters are left unspecified;
18061847f8eSopenharmony_ci   *     2. Incorrect parameter types;
18161847f8eSopenharmony_ci   *     3. Parameter verification failed.
18261847f8eSopenharmony_ci   * @throws { BusinessError } 9300003 -  No accessibility permission to perform the operation.
18361847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
18461847f8eSopenharmony_ci   * @since 9
18561847f8eSopenharmony_ci   * @deprecated since 12
18661847f8eSopenharmony_ci   */
18761847f8eSopenharmony_ci  getWindows(displayId?: number): Promise<Array<AccessibilityElement>>;
18861847f8eSopenharmony_ci
18961847f8eSopenharmony_ci  /**
19061847f8eSopenharmony_ci   * Get window list.
19161847f8eSopenharmony_ci   * @param { AsyncCallback<Array<AccessibilityElement>> } callback Indicates the listener.
19261847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Input parameter error. Possible causes:
19361847f8eSopenharmony_ci   *     1. Mandatory parameters are left unspecified;
19461847f8eSopenharmony_ci   *     2. Incorrect parameter types;
19561847f8eSopenharmony_ci   *     3. Parameter verification failed.
19661847f8eSopenharmony_ci   * @throws { BusinessError } 9300003 -  No accessibility permission to perform the operation.
19761847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
19861847f8eSopenharmony_ci   * @since 9
19961847f8eSopenharmony_ci   * @deprecated since 12
20061847f8eSopenharmony_ci   */
20161847f8eSopenharmony_ci  getWindows(callback: AsyncCallback<Array<AccessibilityElement>>): void;
20261847f8eSopenharmony_ci
20361847f8eSopenharmony_ci  /**
20461847f8eSopenharmony_ci   * Inject gesture path events.
20561847f8eSopenharmony_ci   *
20661847f8eSopenharmony_ci   * @param { GesturePath } gesturePath Indicates the gesture path.
20761847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback Indicates the listener.
20861847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Input parameter error. Possible causes:
20961847f8eSopenharmony_ci   *     1. Mandatory parameters are left unspecified;
21061847f8eSopenharmony_ci   *     2. Incorrect parameter types;
21161847f8eSopenharmony_ci   *     3. Parameter verification failed.
21261847f8eSopenharmony_ci   * @throws { BusinessError } 9300003 -  No accessibility permission to perform the operation.
21361847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
21461847f8eSopenharmony_ci   * @since 9
21561847f8eSopenharmony_ci   * @deprecated since 10
21661847f8eSopenharmony_ci   * @useinstead AccessibilityExtensionContext/AccessibilityExtensionContext#injectGestureSync
21761847f8eSopenharmony_ci   */
21861847f8eSopenharmony_ci  injectGesture(gesturePath: GesturePath, callback: AsyncCallback<void>): void;
21961847f8eSopenharmony_ci
22061847f8eSopenharmony_ci  /**
22161847f8eSopenharmony_ci   * Inject gesture path events.
22261847f8eSopenharmony_ci   *
22361847f8eSopenharmony_ci   * @param { GesturePath } gesturePath Indicates the gesture path.
22461847f8eSopenharmony_ci   * @returns { Promise<void> }
22561847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Input parameter error. Possible causes:
22661847f8eSopenharmony_ci   *     1. Mandatory parameters are left unspecified;
22761847f8eSopenharmony_ci   *     2. Incorrect parameter types;
22861847f8eSopenharmony_ci   *     3. Parameter verification failed.
22961847f8eSopenharmony_ci   * @throws { BusinessError } 9300003 -  No accessibility permission to perform the operation.
23061847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
23161847f8eSopenharmony_ci   * @since 9
23261847f8eSopenharmony_ci   * @deprecated since 10
23361847f8eSopenharmony_ci   * @useinstead AccessibilityExtensionContext/AccessibilityExtensionContext#injectGestureSync
23461847f8eSopenharmony_ci   */
23561847f8eSopenharmony_ci  injectGesture(gesturePath: GesturePath): Promise<void>;
23661847f8eSopenharmony_ci
23761847f8eSopenharmony_ci  /**
23861847f8eSopenharmony_ci   * Inject gesture path events.
23961847f8eSopenharmony_ci   *
24061847f8eSopenharmony_ci   * @param { GesturePath } gesturePath Indicates the gesture path.
24161847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Input parameter error. Possible causes:
24261847f8eSopenharmony_ci   *     1. Mandatory parameters are left unspecified;
24361847f8eSopenharmony_ci   *     2. Incorrect parameter types;
24461847f8eSopenharmony_ci   *     3. Parameter verification failed.
24561847f8eSopenharmony_ci   * @throws { BusinessError } 9300003 -  No accessibility permission to perform the operation.
24661847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
24761847f8eSopenharmony_ci   * @since 10
24861847f8eSopenharmony_ci   * @deprecated since 12
24961847f8eSopenharmony_ci   */
25061847f8eSopenharmony_ci  injectGestureSync(gesturePath: GesturePath): void;
25161847f8eSopenharmony_ci
25261847f8eSopenharmony_ci  /**
25361847f8eSopenharmony_ci   * Starts a new ability.
25461847f8eSopenharmony_ci   *
25561847f8eSopenharmony_ci   * @param { Want } want - Indicates the start options.
25661847f8eSopenharmony_ci   * @returns { Promise<void> }
25761847f8eSopenharmony_ci   * @throws { BusinessError } 201 - The application does not have the permission required to call the API.
25861847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Input parameter error. Possible causes:
25961847f8eSopenharmony_ci   *     1. Mandatory parameters are left unspecified;
26061847f8eSopenharmony_ci   *     2. Incorrect parameter types;
26161847f8eSopenharmony_ci   *     3. Parameter verification failed.
26261847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
26361847f8eSopenharmony_ci   * @systemapi
26461847f8eSopenharmony_ci   * @since 12
26561847f8eSopenharmony_ci   */
26661847f8eSopenharmony_ci  startAbility(want: Want): Promise<void>;
26761847f8eSopenharmony_ci}
26861847f8eSopenharmony_ci
26961847f8eSopenharmony_ci/**
27061847f8eSopenharmony_ci * Indicates an accessibility element.
27161847f8eSopenharmony_ci * Supports querying element attributes, requesting execution actions, and finding child elements by condition.
27261847f8eSopenharmony_ci *
27361847f8eSopenharmony_ci * @typedef AccessibilityElement
27461847f8eSopenharmony_ci * @syscap SystemCapability.BarrierFree.Accessibility.Core
27561847f8eSopenharmony_ci * @since 9
27661847f8eSopenharmony_ci */
27761847f8eSopenharmony_cideclare interface AccessibilityElement {
27861847f8eSopenharmony_ci  /**
27961847f8eSopenharmony_ci   * Get a list of attribute names.
28061847f8eSopenharmony_ci   *
28161847f8eSopenharmony_ci   * @param { AsyncCallback<Array<T>> } callback Indicates the listener.
28261847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
28361847f8eSopenharmony_ci   * @since 9
28461847f8eSopenharmony_ci   * @deprecated since 12
28561847f8eSopenharmony_ci   */
28661847f8eSopenharmony_ci  attributeNames<T extends keyof ElementAttributeValues>(callback: AsyncCallback<Array<T>>): void;
28761847f8eSopenharmony_ci
28861847f8eSopenharmony_ci  /**
28961847f8eSopenharmony_ci   * Get a list of attribute names.
29061847f8eSopenharmony_ci   * @returns { Promise<Array<T>> }
29161847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
29261847f8eSopenharmony_ci   * @since 9
29361847f8eSopenharmony_ci   * @deprecated since 12
29461847f8eSopenharmony_ci   */
29561847f8eSopenharmony_ci  attributeNames<T extends keyof ElementAttributeValues>(): Promise<Array<T>>;
29661847f8eSopenharmony_ci
29761847f8eSopenharmony_ci  /**
29861847f8eSopenharmony_ci   * Get the value of an attribute.
29961847f8eSopenharmony_ci   *
30061847f8eSopenharmony_ci   * @param { T } attributeName Indicates the attribute name.
30161847f8eSopenharmony_ci   * @param { AsyncCallback<ElementAttributeValues[T]> } callback Indicates the listener.
30261847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Input parameter error. Possible causes:
30361847f8eSopenharmony_ci   *     1. Mandatory parameters are left unspecified;
30461847f8eSopenharmony_ci   *     2. Incorrect parameter types;
30561847f8eSopenharmony_ci   *     3. Parameter verification failed.
30661847f8eSopenharmony_ci   * @throws { BusinessError } 9300004 - This property does not exist.
30761847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
30861847f8eSopenharmony_ci   * @since 9
30961847f8eSopenharmony_ci   * @deprecated since 12
31061847f8eSopenharmony_ci   */
31161847f8eSopenharmony_ci  attributeValue<T extends keyof ElementAttributeValues>(
31261847f8eSopenharmony_ci    attributeName: T,
31361847f8eSopenharmony_ci    callback: AsyncCallback<ElementAttributeValues[T]>
31461847f8eSopenharmony_ci  ): void;
31561847f8eSopenharmony_ci
31661847f8eSopenharmony_ci  /**
31761847f8eSopenharmony_ci   * Get the value of an attribute.
31861847f8eSopenharmony_ci   *
31961847f8eSopenharmony_ci   * @param { T } attributeName Indicates the attribute name.
32061847f8eSopenharmony_ci   * @returns { Promise<ElementAttributeValues[T]> }
32161847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Input parameter error. Possible causes:
32261847f8eSopenharmony_ci   *     1. Mandatory parameters are left unspecified;
32361847f8eSopenharmony_ci   *     2. Incorrect parameter types;
32461847f8eSopenharmony_ci   *     3. Parameter verification failed.
32561847f8eSopenharmony_ci   * @throws { BusinessError } 9300004 - This property does not exist.
32661847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
32761847f8eSopenharmony_ci   * @since 9
32861847f8eSopenharmony_ci   * @deprecated since 12
32961847f8eSopenharmony_ci   */
33061847f8eSopenharmony_ci  attributeValue<T extends keyof ElementAttributeValues>(attributeName: T): Promise<ElementAttributeValues[T]>;
33161847f8eSopenharmony_ci
33261847f8eSopenharmony_ci  /**
33361847f8eSopenharmony_ci   * Get a list of supported actions.
33461847f8eSopenharmony_ci   *
33561847f8eSopenharmony_ci   * @param { AsyncCallback<Array<string>> } callback Indicates the listener.
33661847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
33761847f8eSopenharmony_ci   * @since 9
33861847f8eSopenharmony_ci   * @deprecated since 12
33961847f8eSopenharmony_ci   */
34061847f8eSopenharmony_ci  actionNames(callback: AsyncCallback<Array<string>>): void;
34161847f8eSopenharmony_ci
34261847f8eSopenharmony_ci  /**
34361847f8eSopenharmony_ci   * Get a list of supported actions.
34461847f8eSopenharmony_ci   *
34561847f8eSopenharmony_ci   * @returns { Promise<Array<string>> }
34661847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
34761847f8eSopenharmony_ci   * @since 9
34861847f8eSopenharmony_ci   * @deprecated since 12
34961847f8eSopenharmony_ci   */
35061847f8eSopenharmony_ci  actionNames(): Promise<Array<string>>;
35161847f8eSopenharmony_ci
35261847f8eSopenharmony_ci  /**
35361847f8eSopenharmony_ci   * Perform the specified action.
35461847f8eSopenharmony_ci   *
35561847f8eSopenharmony_ci   * @param { string } actionName Indicates the action name.
35661847f8eSopenharmony_ci   * @param { object } parameters Indicates the parameters needed to execute the action.
35761847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback Indicates the listener.
35861847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Input parameter error. Possible causes:
35961847f8eSopenharmony_ci   *     1. Mandatory parameters are left unspecified;
36061847f8eSopenharmony_ci   *     2. Incorrect parameter types;
36161847f8eSopenharmony_ci   *     3. Parameter verification failed.
36261847f8eSopenharmony_ci   * @throws { BusinessError } 9300005 - This action is not supported.
36361847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
36461847f8eSopenharmony_ci   * @since 9
36561847f8eSopenharmony_ci   * @deprecated since 12
36661847f8eSopenharmony_ci   */
36761847f8eSopenharmony_ci  performAction(actionName: string, parameters: object, callback: AsyncCallback<void>): void;
36861847f8eSopenharmony_ci
36961847f8eSopenharmony_ci  /**
37061847f8eSopenharmony_ci   * Perform the specified action.
37161847f8eSopenharmony_ci   *
37261847f8eSopenharmony_ci   * @param { string } actionName Indicates the action name.
37361847f8eSopenharmony_ci   * @param { object } parameters Indicates the parameters needed to execute the action.
37461847f8eSopenharmony_ci   * @returns { Promise<void> }
37561847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Input parameter error. Possible causes:
37661847f8eSopenharmony_ci   *     1. Mandatory parameters are left unspecified;
37761847f8eSopenharmony_ci   *     2. Incorrect parameter types;
37861847f8eSopenharmony_ci   *     3. Parameter verification failed.
37961847f8eSopenharmony_ci   * @throws { BusinessError } 9300005 - This action is not supported.
38061847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
38161847f8eSopenharmony_ci   * @since 9
38261847f8eSopenharmony_ci   * @deprecated since 12
38361847f8eSopenharmony_ci   */
38461847f8eSopenharmony_ci  performAction(actionName: string, parameters?: object): Promise<void>;
38561847f8eSopenharmony_ci
38661847f8eSopenharmony_ci  /**
38761847f8eSopenharmony_ci   * Perform the specified action.
38861847f8eSopenharmony_ci   *
38961847f8eSopenharmony_ci   * @param { string } actionName Indicates the action name.
39061847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback Indicates the listener.
39161847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Input parameter error. Possible causes:
39261847f8eSopenharmony_ci   *     1. Mandatory parameters are left unspecified;
39361847f8eSopenharmony_ci   *     2. Incorrect parameter types;
39461847f8eSopenharmony_ci   *     3. Parameter verification failed.
39561847f8eSopenharmony_ci   * @throws { BusinessError } 9300005 - This action is not supported.
39661847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
39761847f8eSopenharmony_ci   * @since 9
39861847f8eSopenharmony_ci   * @deprecated since 12
39961847f8eSopenharmony_ci   */
40061847f8eSopenharmony_ci  performAction(actionName: string, callback: AsyncCallback<void>): void;
40161847f8eSopenharmony_ci
40261847f8eSopenharmony_ci  /**
40361847f8eSopenharmony_ci   * Get the position of cursor in TextInput.
40461847f8eSopenharmony_ci   *
40561847f8eSopenharmony_ci   * @param { AsyncCallback<number> } callback Indicates the listener.
40661847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
40761847f8eSopenharmony_ci   * @systemapi
40861847f8eSopenharmony_ci   * @since 12
40961847f8eSopenharmony_ci   */
41061847f8eSopenharmony_ci  getCursorPosition(callback: AsyncCallback<number>): void;
41161847f8eSopenharmony_ci
41261847f8eSopenharmony_ci  /**
41361847f8eSopenharmony_ci   * Get the position of cursor in TextInput.
41461847f8eSopenharmony_ci   *
41561847f8eSopenharmony_ci   * @returns { Promise<number> }
41661847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
41761847f8eSopenharmony_ci   * @systemapi
41861847f8eSopenharmony_ci   * @since 12
41961847f8eSopenharmony_ci   */
42061847f8eSopenharmony_ci  getCursorPosition(): Promise<number>;
42161847f8eSopenharmony_ci
42261847f8eSopenharmony_ci  /**
42361847f8eSopenharmony_ci   * Set the screen curtain enable or disable.
42461847f8eSopenharmony_ci   *
42561847f8eSopenharmony_ci   * @param { boolean } isEnable Indicates whether the screen curtain is enabled.
42661847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
42761847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Input parameter error. Possible causes:
42861847f8eSopenharmony_ci   *     1. Mandatory parameters are left unspecified;
42961847f8eSopenharmony_ci   *     2. Incorrect parameter types;
43061847f8eSopenharmony_ci   *     3. Parameter verification failed.
43161847f8eSopenharmony_ci   * @throws { BusinessError } 9300003 -  No accessibility permission to perform the operation.
43261847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
43361847f8eSopenharmony_ci   * @systemapi
43461847f8eSopenharmony_ci   * @since 12
43561847f8eSopenharmony_ci   */
43661847f8eSopenharmony_ci  enableScreenCurtain(isEnable: boolean): void;
43761847f8eSopenharmony_ci
43861847f8eSopenharmony_ci  /**
43961847f8eSopenharmony_ci   * Find elements that match the condition.
44061847f8eSopenharmony_ci   *
44161847f8eSopenharmony_ci   * @param { 'content' } type The type of query condition is content.
44261847f8eSopenharmony_ci   * @param { string } condition Indicates the specific content to be queried.
44361847f8eSopenharmony_ci   * @param { AsyncCallback<Array<AccessibilityElement>> } callback Indicates the listener.
44461847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Input parameter error. Possible causes:
44561847f8eSopenharmony_ci   *     1. Mandatory parameters are left unspecified;
44661847f8eSopenharmony_ci   *     2. Incorrect parameter types;
44761847f8eSopenharmony_ci   *     3. Parameter verification failed.
44861847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
44961847f8eSopenharmony_ci   * @since 9
45061847f8eSopenharmony_ci   * @deprecated since 12
45161847f8eSopenharmony_ci   */
45261847f8eSopenharmony_ci  findElement(type: 'content', condition: string, callback: AsyncCallback<Array<AccessibilityElement>>): void;
45361847f8eSopenharmony_ci
45461847f8eSopenharmony_ci  /**
45561847f8eSopenharmony_ci   * Find elements that match the condition.
45661847f8eSopenharmony_ci   *
45761847f8eSopenharmony_ci   * @param { 'content' } type The type of query condition is content.
45861847f8eSopenharmony_ci   * @param { string } condition Indicates the specific content to be queried.
45961847f8eSopenharmony_ci   * @returns { Promise<Array<AccessibilityElement>> }
46061847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Input parameter error. Possible causes:
46161847f8eSopenharmony_ci   *     1. Mandatory parameters are left unspecified;
46261847f8eSopenharmony_ci   *     2. Incorrect parameter types;
46361847f8eSopenharmony_ci   *     3. Parameter verification failed.
46461847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
46561847f8eSopenharmony_ci   * @since 9
46661847f8eSopenharmony_ci   * @deprecated since 12
46761847f8eSopenharmony_ci   */
46861847f8eSopenharmony_ci  findElement(type: 'content', condition: string): Promise<Array<AccessibilityElement>>;
46961847f8eSopenharmony_ci
47061847f8eSopenharmony_ci  /**
47161847f8eSopenharmony_ci   * Find elements that match the condition.
47261847f8eSopenharmony_ci   *
47361847f8eSopenharmony_ci   * @param { 'focusType' } type The type of query condition is focus type.
47461847f8eSopenharmony_ci   * @param { FocusType } condition Indicates the type of focus to query.
47561847f8eSopenharmony_ci   * @param { AsyncCallback<AccessibilityElement> } callback Indicates the listener.
47661847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Input parameter error. Possible causes:
47761847f8eSopenharmony_ci   *     1. Mandatory parameters are left unspecified;
47861847f8eSopenharmony_ci   *     2. Incorrect parameter types;
47961847f8eSopenharmony_ci   *     3. Parameter verification failed.
48061847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
48161847f8eSopenharmony_ci   * @since 9
48261847f8eSopenharmony_ci   * @deprecated since 12
48361847f8eSopenharmony_ci   */
48461847f8eSopenharmony_ci  findElement(type: 'focusType', condition: FocusType, callback: AsyncCallback<AccessibilityElement>): void;
48561847f8eSopenharmony_ci
48661847f8eSopenharmony_ci  /**
48761847f8eSopenharmony_ci   * Find elements that match the condition.
48861847f8eSopenharmony_ci   *
48961847f8eSopenharmony_ci   * @param { 'focusType' } type The type of query condition is focus type.
49061847f8eSopenharmony_ci   * @param { FocusType } condition Indicates the type of focus to query.
49161847f8eSopenharmony_ci   * @returns { Promise<AccessibilityElement> }
49261847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Input parameter error. Possible causes:
49361847f8eSopenharmony_ci   *     1. Mandatory parameters are left unspecified;
49461847f8eSopenharmony_ci   *     2. Incorrect parameter types;
49561847f8eSopenharmony_ci   *     3. Parameter verification failed.
49661847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
49761847f8eSopenharmony_ci   * @since 9
49861847f8eSopenharmony_ci   * @deprecated since 12
49961847f8eSopenharmony_ci   */
50061847f8eSopenharmony_ci  findElement(type: 'focusType', condition: FocusType): Promise<AccessibilityElement>;
50161847f8eSopenharmony_ci
50261847f8eSopenharmony_ci  /**
50361847f8eSopenharmony_ci   * Find elements that match the condition.
50461847f8eSopenharmony_ci   *
50561847f8eSopenharmony_ci   * @param { 'focusDirection' } type The type of query condition is focus direction.
50661847f8eSopenharmony_ci   * @param { FocusDirection } condition Indicates the direction of search focus to query.
50761847f8eSopenharmony_ci   * @param { AsyncCallback<AccessibilityElement> } callback Indicates the listener.
50861847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Input parameter error. Possible causes:
50961847f8eSopenharmony_ci   *     1. Mandatory parameters are left unspecified;
51061847f8eSopenharmony_ci   *     2. Incorrect parameter types;
51161847f8eSopenharmony_ci   *     3. Parameter verification failed.
51261847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
51361847f8eSopenharmony_ci   * @since 9
51461847f8eSopenharmony_ci   * @deprecated since 12
51561847f8eSopenharmony_ci   */
51661847f8eSopenharmony_ci  findElement(type: 'focusDirection', condition: FocusDirection, callback: AsyncCallback<AccessibilityElement>): void;
51761847f8eSopenharmony_ci
51861847f8eSopenharmony_ci  /**
51961847f8eSopenharmony_ci   * Find elements that match the condition.
52061847f8eSopenharmony_ci   *
52161847f8eSopenharmony_ci   * @param { 'focusDirection' } type The type of query condition is focus direction.
52261847f8eSopenharmony_ci   * @param { FocusDirection } condition Indicates the direction of search focus to query.
52361847f8eSopenharmony_ci   * @returns { Promise<AccessibilityElement> }
52461847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Input parameter error. Possible causes:
52561847f8eSopenharmony_ci   *     1. Mandatory parameters are left unspecified;
52661847f8eSopenharmony_ci   *     2. Incorrect parameter types;
52761847f8eSopenharmony_ci   *     3. Parameter verification failed.
52861847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
52961847f8eSopenharmony_ci   * @since 9
53061847f8eSopenharmony_ci   * @deprecated since 12
53161847f8eSopenharmony_ci   */
53261847f8eSopenharmony_ci  findElement(type: 'focusDirection', condition: FocusDirection): Promise<AccessibilityElement>;
53361847f8eSopenharmony_ci
53461847f8eSopenharmony_ci  /**
53561847f8eSopenharmony_ci   * Find elements that match the condition.
53661847f8eSopenharmony_ci   *
53761847f8eSopenharmony_ci   * @param { 'textType' } type The type of query condition is text type.
53861847f8eSopenharmony_ci   * @param { string } condition Indicates the specific content to be queried.
53961847f8eSopenharmony_ci   * @returns { Promise<Array<AccessibilityElement>> }
54061847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Input parameter error. Possible causes:
54161847f8eSopenharmony_ci   *     1. Mandatory parameters are left unspecified;
54261847f8eSopenharmony_ci   *     2. Incorrect parameter types;
54361847f8eSopenharmony_ci   *     3. Parameter verification failed.
54461847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
54561847f8eSopenharmony_ci   * @systemapi
54661847f8eSopenharmony_ci   * @since 12
54761847f8eSopenharmony_ci   */
54861847f8eSopenharmony_ci  findElement(type: 'textType', condition: string): Promise<Array<AccessibilityElement>>;
54961847f8eSopenharmony_ci
55061847f8eSopenharmony_ci  /**
55161847f8eSopenharmony_ci   * Find elements that match the condition.
55261847f8eSopenharmony_ci   *
55361847f8eSopenharmony_ci   * @param { 'elementId' } type The type of query condition is element id.
55461847f8eSopenharmony_ci   * @param { number } condition Indicates the specific content to be queried.
55561847f8eSopenharmony_ci   * @returns { Promise<AccessibilityElement> }
55661847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Input parameter error. Possible causes:
55761847f8eSopenharmony_ci   *     1. Mandatory parameters are left unspecified;
55861847f8eSopenharmony_ci   *     2. Incorrect parameter types;
55961847f8eSopenharmony_ci   *     3. Parameter verification failed.
56061847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
56161847f8eSopenharmony_ci   * @systemapi
56261847f8eSopenharmony_ci   * @since 12
56361847f8eSopenharmony_ci   */
56461847f8eSopenharmony_ci  findElement(type: 'elementId', condition: number): Promise<AccessibilityElement>;
56561847f8eSopenharmony_ci}
56661847f8eSopenharmony_ci
56761847f8eSopenharmony_ci/**
56861847f8eSopenharmony_ci * Indicates the possible attributes of the element and the type of the attribute value.
56961847f8eSopenharmony_ci *
57061847f8eSopenharmony_ci * @syscap SystemCapability.BarrierFree.Accessibility.Core
57161847f8eSopenharmony_ci * @since 9
57261847f8eSopenharmony_ci */
57361847f8eSopenharmony_ci/**
57461847f8eSopenharmony_ci * Indicates the possible attributes of the element and the type of the attribute value.
57561847f8eSopenharmony_ci *
57661847f8eSopenharmony_ci * @typedef ElementAttributeValues
57761847f8eSopenharmony_ci * @syscap SystemCapability.BarrierFree.Accessibility.Core
57861847f8eSopenharmony_ci * @since 11
57961847f8eSopenharmony_ci */
58061847f8eSopenharmony_ciinterface ElementAttributeValues {
58161847f8eSopenharmony_ci  /**
58261847f8eSopenharmony_ci   * Indicates accessibility focus state.
58361847f8eSopenharmony_ci   *
58461847f8eSopenharmony_ci   * @type {boolean}
58561847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
58661847f8eSopenharmony_ci   * @since 9
58761847f8eSopenharmony_ci   */
58861847f8eSopenharmony_ci  accessibilityFocused: boolean;
58961847f8eSopenharmony_ci  /**
59061847f8eSopenharmony_ci   * Indicates the bundle name to which it belongs.
59161847f8eSopenharmony_ci   *
59261847f8eSopenharmony_ci   * @type {string}
59361847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
59461847f8eSopenharmony_ci   * @since 9
59561847f8eSopenharmony_ci   */
59661847f8eSopenharmony_ci  bundleName: string;
59761847f8eSopenharmony_ci  /**
59861847f8eSopenharmony_ci   * Indicates whether the element is checkable.
59961847f8eSopenharmony_ci   *
60061847f8eSopenharmony_ci   * @type {boolean}
60161847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
60261847f8eSopenharmony_ci   * @since 9
60361847f8eSopenharmony_ci   */
60461847f8eSopenharmony_ci  checkable: boolean;
60561847f8eSopenharmony_ci  /**
60661847f8eSopenharmony_ci   * Indicates whether the element is checked.
60761847f8eSopenharmony_ci   *
60861847f8eSopenharmony_ci   * @type {boolean}
60961847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
61061847f8eSopenharmony_ci   * @since 9
61161847f8eSopenharmony_ci   */
61261847f8eSopenharmony_ci  checked: boolean;
61361847f8eSopenharmony_ci  /**
61461847f8eSopenharmony_ci   * Indicates all child elements.
61561847f8eSopenharmony_ci   *
61661847f8eSopenharmony_ci   * @type {Array<AccessibilityElement>}
61761847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
61861847f8eSopenharmony_ci   * @since 9
61961847f8eSopenharmony_ci   */
62061847f8eSopenharmony_ci  children: Array<AccessibilityElement>;
62161847f8eSopenharmony_ci  /**
62261847f8eSopenharmony_ci   * Indicates whether the element is clickable.
62361847f8eSopenharmony_ci   *
62461847f8eSopenharmony_ci   * @type {boolean}
62561847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
62661847f8eSopenharmony_ci   * @since 9
62761847f8eSopenharmony_ci   */
62861847f8eSopenharmony_ci  clickable: boolean;
62961847f8eSopenharmony_ci  /**
63061847f8eSopenharmony_ci   * Indicates the component ID to which the element belongs.
63161847f8eSopenharmony_ci   *
63261847f8eSopenharmony_ci   * @type {number}
63361847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
63461847f8eSopenharmony_ci   * @since 9
63561847f8eSopenharmony_ci   */
63661847f8eSopenharmony_ci  componentId: number;
63761847f8eSopenharmony_ci  /**
63861847f8eSopenharmony_ci   * Indicates the component type to which the element belongs.
63961847f8eSopenharmony_ci   *
64061847f8eSopenharmony_ci   * @type {string}
64161847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
64261847f8eSopenharmony_ci   * @since 9
64361847f8eSopenharmony_ci   */
64461847f8eSopenharmony_ci  componentType: string;
64561847f8eSopenharmony_ci  /**
64661847f8eSopenharmony_ci   * Indicates the content.
64761847f8eSopenharmony_ci   *
64861847f8eSopenharmony_ci   * @type {Array<string>}
64961847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
65061847f8eSopenharmony_ci   * @since 9
65161847f8eSopenharmony_ci   */
65261847f8eSopenharmony_ci  contents: Array<string>;
65361847f8eSopenharmony_ci  /**
65461847f8eSopenharmony_ci   * Indicates the index of the current item.
65561847f8eSopenharmony_ci   *
65661847f8eSopenharmony_ci   * @type {number}
65761847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
65861847f8eSopenharmony_ci   * @since 9
65961847f8eSopenharmony_ci   */
66061847f8eSopenharmony_ci  currentIndex: number;
66161847f8eSopenharmony_ci  /**
66261847f8eSopenharmony_ci   * Indicates the description of the element.
66361847f8eSopenharmony_ci   *
66461847f8eSopenharmony_ci   * @type {string}
66561847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
66661847f8eSopenharmony_ci   * @since 9
66761847f8eSopenharmony_ci   */
66861847f8eSopenharmony_ci  description: string;
66961847f8eSopenharmony_ci  /**
67061847f8eSopenharmony_ci   * Indicates whether the element is editable.
67161847f8eSopenharmony_ci   *
67261847f8eSopenharmony_ci   * @type {boolean}
67361847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
67461847f8eSopenharmony_ci   * @since 9
67561847f8eSopenharmony_ci   */
67661847f8eSopenharmony_ci  editable: boolean;
67761847f8eSopenharmony_ci  /**
67861847f8eSopenharmony_ci   * Indicates the list index of the last item displayed on the screen.
67961847f8eSopenharmony_ci   *
68061847f8eSopenharmony_ci   * @type {number}
68161847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
68261847f8eSopenharmony_ci   * @since 9
68361847f8eSopenharmony_ci   */
68461847f8eSopenharmony_ci  endIndex: number;
68561847f8eSopenharmony_ci  /**
68661847f8eSopenharmony_ci   * Indicates the string of error state.
68761847f8eSopenharmony_ci   *
68861847f8eSopenharmony_ci   * @type {string}
68961847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
69061847f8eSopenharmony_ci   * @since 9
69161847f8eSopenharmony_ci   */
69261847f8eSopenharmony_ci  error: string;
69361847f8eSopenharmony_ci  /**
69461847f8eSopenharmony_ci   * Indicates whether the element is focusable.
69561847f8eSopenharmony_ci   *
69661847f8eSopenharmony_ci   * @type {boolean}
69761847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
69861847f8eSopenharmony_ci   * @since 9
69961847f8eSopenharmony_ci   */
70061847f8eSopenharmony_ci  focusable: boolean;
70161847f8eSopenharmony_ci  /**
70261847f8eSopenharmony_ci   * Indicates the hint text.
70361847f8eSopenharmony_ci   *
70461847f8eSopenharmony_ci   * @type {string}
70561847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
70661847f8eSopenharmony_ci   * @since 9
70761847f8eSopenharmony_ci   */
70861847f8eSopenharmony_ci  hintText: string;
70961847f8eSopenharmony_ci  /**
71061847f8eSopenharmony_ci   * Indicates the type of input text.
71161847f8eSopenharmony_ci   *
71261847f8eSopenharmony_ci   * @type {number}
71361847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
71461847f8eSopenharmony_ci   * @since 9
71561847f8eSopenharmony_ci   */
71661847f8eSopenharmony_ci  inputType: number;
71761847f8eSopenharmony_ci  /**
71861847f8eSopenharmony_ci   * Indicates the inspector key.
71961847f8eSopenharmony_ci   *
72061847f8eSopenharmony_ci   * @type {string}
72161847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
72261847f8eSopenharmony_ci   * @since 9
72361847f8eSopenharmony_ci   */
72461847f8eSopenharmony_ci  inspectorKey: string;
72561847f8eSopenharmony_ci  /**
72661847f8eSopenharmony_ci   * Indicates whether the element is active or not.
72761847f8eSopenharmony_ci   *
72861847f8eSopenharmony_ci   * @type {boolean}
72961847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
73061847f8eSopenharmony_ci   * @since 9
73161847f8eSopenharmony_ci   */
73261847f8eSopenharmony_ci  isActive: boolean;
73361847f8eSopenharmony_ci  /**
73461847f8eSopenharmony_ci   * Indicates whether the element is enable or not.
73561847f8eSopenharmony_ci   *
73661847f8eSopenharmony_ci   * @type {boolean}
73761847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
73861847f8eSopenharmony_ci   * @since 9
73961847f8eSopenharmony_ci   */
74061847f8eSopenharmony_ci  isEnable: boolean;
74161847f8eSopenharmony_ci  /**
74261847f8eSopenharmony_ci   * Indicates whether the element is hint state or not.
74361847f8eSopenharmony_ci   *
74461847f8eSopenharmony_ci   * @type {boolean}
74561847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
74661847f8eSopenharmony_ci   * @since 9
74761847f8eSopenharmony_ci   */
74861847f8eSopenharmony_ci  isHint: boolean;
74961847f8eSopenharmony_ci  /**
75061847f8eSopenharmony_ci   * Indicates whether the element is focused or not.
75161847f8eSopenharmony_ci   * 
75261847f8eSopenharmony_ci   * @type {boolean}
75361847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
75461847f8eSopenharmony_ci   * @since 9
75561847f8eSopenharmony_ci   */
75661847f8eSopenharmony_ci  isFocused: boolean;
75761847f8eSopenharmony_ci  /**
75861847f8eSopenharmony_ci   * Indicates whether the element is password or not.
75961847f8eSopenharmony_ci   *
76061847f8eSopenharmony_ci   * @type {boolean}
76161847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
76261847f8eSopenharmony_ci   * @since 9
76361847f8eSopenharmony_ci   */
76461847f8eSopenharmony_ci  isPassword: boolean;
76561847f8eSopenharmony_ci  /**
76661847f8eSopenharmony_ci   * Indicates whether the element is visible or not.
76761847f8eSopenharmony_ci   *
76861847f8eSopenharmony_ci   * @type {boolean}
76961847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
77061847f8eSopenharmony_ci   * @since 9
77161847f8eSopenharmony_ci   */
77261847f8eSopenharmony_ci  isVisible: boolean;
77361847f8eSopenharmony_ci  /**
77461847f8eSopenharmony_ci   * Indicates the total count of the items.
77561847f8eSopenharmony_ci   *
77661847f8eSopenharmony_ci   * @type {number}
77761847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
77861847f8eSopenharmony_ci   * @since 9
77961847f8eSopenharmony_ci   */
78061847f8eSopenharmony_ci  itemCount: number;
78161847f8eSopenharmony_ci  /**
78261847f8eSopenharmony_ci   * Indicates the last content.
78361847f8eSopenharmony_ci   *
78461847f8eSopenharmony_ci   * @type {string}
78561847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
78661847f8eSopenharmony_ci   * @since 9
78761847f8eSopenharmony_ci   */
78861847f8eSopenharmony_ci  lastContent: string;
78961847f8eSopenharmony_ci  /**
79061847f8eSopenharmony_ci   * Indicates the display layer of the element.
79161847f8eSopenharmony_ci   *
79261847f8eSopenharmony_ci   * @type {number}
79361847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
79461847f8eSopenharmony_ci   * @since 9
79561847f8eSopenharmony_ci   */
79661847f8eSopenharmony_ci  layer: number;
79761847f8eSopenharmony_ci  /**
79861847f8eSopenharmony_ci   * Indicates whether the element is long clickable.
79961847f8eSopenharmony_ci   *
80061847f8eSopenharmony_ci   * @type {boolean}
80161847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
80261847f8eSopenharmony_ci   * @since 9
80361847f8eSopenharmony_ci   */
80461847f8eSopenharmony_ci  longClickable: boolean;
80561847f8eSopenharmony_ci  /**
80661847f8eSopenharmony_ci   * Indicates the page id.
80761847f8eSopenharmony_ci   *
80861847f8eSopenharmony_ci   * @type {number}
80961847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
81061847f8eSopenharmony_ci   * @since 9
81161847f8eSopenharmony_ci   */
81261847f8eSopenharmony_ci  pageId: number;
81361847f8eSopenharmony_ci  /**
81461847f8eSopenharmony_ci   * Indicates the parent of the element.
81561847f8eSopenharmony_ci   *
81661847f8eSopenharmony_ci   * @type {AccessibilityElement}
81761847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
81861847f8eSopenharmony_ci   * @since 9
81961847f8eSopenharmony_ci   */
82061847f8eSopenharmony_ci  parent: AccessibilityElement;
82161847f8eSopenharmony_ci  /**
82261847f8eSopenharmony_ci   * Indicates whether the element supports multiple lines of text.
82361847f8eSopenharmony_ci   *
82461847f8eSopenharmony_ci   * @type {boolean}
82561847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
82661847f8eSopenharmony_ci   * @since 9
82761847f8eSopenharmony_ci   */
82861847f8eSopenharmony_ci  pluralLineSupported: boolean;
82961847f8eSopenharmony_ci  /**
83061847f8eSopenharmony_ci   * Indicates the area of the element.
83161847f8eSopenharmony_ci   *
83261847f8eSopenharmony_ci   * @type {Rect}
83361847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
83461847f8eSopenharmony_ci   * @since 9
83561847f8eSopenharmony_ci   */
83661847f8eSopenharmony_ci  rect: Rect;
83761847f8eSopenharmony_ci  /**
83861847f8eSopenharmony_ci   * Indicates the resource name of the element.
83961847f8eSopenharmony_ci   *
84061847f8eSopenharmony_ci   * @type {string}
84161847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
84261847f8eSopenharmony_ci   * @since 9
84361847f8eSopenharmony_ci   */
84461847f8eSopenharmony_ci  resourceName: string;
84561847f8eSopenharmony_ci  /**
84661847f8eSopenharmony_ci   * Indicates the root element of the window element.
84761847f8eSopenharmony_ci   *
84861847f8eSopenharmony_ci   * @type {AccessibilityElement}
84961847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
85061847f8eSopenharmony_ci   * @since 9
85161847f8eSopenharmony_ci   */
85261847f8eSopenharmony_ci  rootElement: AccessibilityElement;
85361847f8eSopenharmony_ci  /**
85461847f8eSopenharmony_ci   * Indicates the display area of the element.
85561847f8eSopenharmony_ci   *
85661847f8eSopenharmony_ci   * @type {Rect}
85761847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
85861847f8eSopenharmony_ci   * @since 9
85961847f8eSopenharmony_ci   */
86061847f8eSopenharmony_ci  screenRect: Rect;
86161847f8eSopenharmony_ci  /**
86261847f8eSopenharmony_ci   * Indicates whether the element is scrollable.
86361847f8eSopenharmony_ci   *
86461847f8eSopenharmony_ci   * @type {boolean}
86561847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
86661847f8eSopenharmony_ci   * @since 9
86761847f8eSopenharmony_ci   */
86861847f8eSopenharmony_ci  scrollable: boolean;
86961847f8eSopenharmony_ci  /**
87061847f8eSopenharmony_ci   * Indicates whether the element is selected.
87161847f8eSopenharmony_ci   *
87261847f8eSopenharmony_ci   * @type {boolean}
87361847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
87461847f8eSopenharmony_ci   * @since 9
87561847f8eSopenharmony_ci   */
87661847f8eSopenharmony_ci  selected: boolean;
87761847f8eSopenharmony_ci  /**
87861847f8eSopenharmony_ci   * Indicates the list index of the first item displayed on the screen.
87961847f8eSopenharmony_ci   *
88061847f8eSopenharmony_ci   * @type {number}
88161847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
88261847f8eSopenharmony_ci   * @since 9
88361847f8eSopenharmony_ci   */
88461847f8eSopenharmony_ci  startIndex: number;
88561847f8eSopenharmony_ci  /**
88661847f8eSopenharmony_ci   * Indicates the text of the element.
88761847f8eSopenharmony_ci   *
88861847f8eSopenharmony_ci   * @type {string}
88961847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
89061847f8eSopenharmony_ci   * @since 9
89161847f8eSopenharmony_ci   */
89261847f8eSopenharmony_ci  text: string;
89361847f8eSopenharmony_ci  /**
89461847f8eSopenharmony_ci   * Indicates the maximum length limit of the element text.
89561847f8eSopenharmony_ci   *
89661847f8eSopenharmony_ci   * @type {number}
89761847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
89861847f8eSopenharmony_ci   * @since 9
89961847f8eSopenharmony_ci   */
90061847f8eSopenharmony_ci  textLengthLimit: number;
90161847f8eSopenharmony_ci  /**
90261847f8eSopenharmony_ci   * Indicates the unit of movement of the element text as it is read.
90361847f8eSopenharmony_ci   *
90461847f8eSopenharmony_ci   * @type {accessibility.TextMoveUnit}
90561847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
90661847f8eSopenharmony_ci   * @since 9
90761847f8eSopenharmony_ci   */
90861847f8eSopenharmony_ci  textMoveUnit: accessibility.TextMoveUnit;
90961847f8eSopenharmony_ci  /**
91061847f8eSopenharmony_ci   * Indicates the action that triggered the element event.
91161847f8eSopenharmony_ci   *
91261847f8eSopenharmony_ci   * @type {accessibility.Action}
91361847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
91461847f8eSopenharmony_ci   * @since 9
91561847f8eSopenharmony_ci   */
91661847f8eSopenharmony_ci  triggerAction: accessibility.Action;
91761847f8eSopenharmony_ci  /**
91861847f8eSopenharmony_ci   * Indicates the window type of the element.
91961847f8eSopenharmony_ci   *
92061847f8eSopenharmony_ci   * @type {WindowType}
92161847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
92261847f8eSopenharmony_ci   * @since 9
92361847f8eSopenharmony_ci   */
92461847f8eSopenharmony_ci  type: WindowType;
92561847f8eSopenharmony_ci  /**
92661847f8eSopenharmony_ci   * Indicates the maximum value.
92761847f8eSopenharmony_ci   *
92861847f8eSopenharmony_ci   * @type {number}
92961847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
93061847f8eSopenharmony_ci   * @since 9
93161847f8eSopenharmony_ci   */
93261847f8eSopenharmony_ci  valueMax: number;
93361847f8eSopenharmony_ci  /**
93461847f8eSopenharmony_ci   * Indicates the minimum value.
93561847f8eSopenharmony_ci   *
93661847f8eSopenharmony_ci   * @type {number}
93761847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
93861847f8eSopenharmony_ci   * @since 9
93961847f8eSopenharmony_ci   */
94061847f8eSopenharmony_ci  valueMin: number;
94161847f8eSopenharmony_ci  /**
94261847f8eSopenharmony_ci   * Indicates the current value.
94361847f8eSopenharmony_ci   * 
94461847f8eSopenharmony_ci   * @type {number}
94561847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
94661847f8eSopenharmony_ci   * @since 9
94761847f8eSopenharmony_ci   */
94861847f8eSopenharmony_ci  valueNow: number;
94961847f8eSopenharmony_ci  /**
95061847f8eSopenharmony_ci   * Indicates the window id.
95161847f8eSopenharmony_ci   *
95261847f8eSopenharmony_ci   * @type {number}
95361847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
95461847f8eSopenharmony_ci   * @since 9
95561847f8eSopenharmony_ci   */
95661847f8eSopenharmony_ci  windowId: number;
95761847f8eSopenharmony_ci  /**
95861847f8eSopenharmony_ci   * Indicates the offset.
95961847f8eSopenharmony_ci   *
96061847f8eSopenharmony_ci   * @type {number}
96161847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
96261847f8eSopenharmony_ci   * @since 12
96361847f8eSopenharmony_ci   */
96461847f8eSopenharmony_ci  offset: number;
96561847f8eSopenharmony_ci  /**
96661847f8eSopenharmony_ci   * Indicates the text type.
96761847f8eSopenharmony_ci   *
96861847f8eSopenharmony_ci   * @type {string}
96961847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
97061847f8eSopenharmony_ci   * @since 12
97161847f8eSopenharmony_ci   */
97261847f8eSopenharmony_ci  textType: string;
97361847f8eSopenharmony_ci  /**
97461847f8eSopenharmony_ci   * Indicates the accessibility text of component.
97561847f8eSopenharmony_ci   *
97661847f8eSopenharmony_ci   * @type {string}
97761847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
97861847f8eSopenharmony_ci   * @since 12
97961847f8eSopenharmony_ci   */
98061847f8eSopenharmony_ci  accessibilityText: string;
98161847f8eSopenharmony_ci  /**
98261847f8eSopenharmony_ci   * Indicates the hot area of the element.
98361847f8eSopenharmony_ci   *
98461847f8eSopenharmony_ci   * @type {Rect}
98561847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
98661847f8eSopenharmony_ci   * @since 12
98761847f8eSopenharmony_ci   */
98861847f8eSopenharmony_ci  hotArea: Rect;
98961847f8eSopenharmony_ci}
99061847f8eSopenharmony_ci
99161847f8eSopenharmony_ci/**
99261847f8eSopenharmony_ci * Indicates the direction of the search focus.
99361847f8eSopenharmony_ci *
99461847f8eSopenharmony_ci * @typedef {'up' | 'down' | 'left' | 'right' | 'forward' | 'backward'}
99561847f8eSopenharmony_ci * @syscap SystemCapability.BarrierFree.Accessibility.Core
99661847f8eSopenharmony_ci * @since 9
99761847f8eSopenharmony_ci */
99861847f8eSopenharmony_citype FocusDirection = 'up' | 'down' | 'left' | 'right' | 'forward' | 'backward';
99961847f8eSopenharmony_ci
100061847f8eSopenharmony_ci/**
100161847f8eSopenharmony_ci * Indicates the type of the focus.
100261847f8eSopenharmony_ci *
100361847f8eSopenharmony_ci * @typedef {'accessibility' | 'normal'}
100461847f8eSopenharmony_ci * @syscap SystemCapability.BarrierFree.Accessibility.Core
100561847f8eSopenharmony_ci * @since 9
100661847f8eSopenharmony_ci */
100761847f8eSopenharmony_citype FocusType = 'accessibility' | 'normal';
100861847f8eSopenharmony_ci
100961847f8eSopenharmony_ci/**
101061847f8eSopenharmony_ci * Indicates the type of the window.
101161847f8eSopenharmony_ci *
101261847f8eSopenharmony_ci * @typedef {'application' | 'system'}
101361847f8eSopenharmony_ci * @syscap SystemCapability.BarrierFree.Accessibility.Core
101461847f8eSopenharmony_ci * @since 9
101561847f8eSopenharmony_ci */
101661847f8eSopenharmony_citype WindowType = 'application' | 'system';
101761847f8eSopenharmony_ci
101861847f8eSopenharmony_ci/**
101961847f8eSopenharmony_ci * Indicates rectangle.
102061847f8eSopenharmony_ci *
102161847f8eSopenharmony_ci * @typedef Rect
102261847f8eSopenharmony_ci * @syscap SystemCapability.BarrierFree.Accessibility.Core
102361847f8eSopenharmony_ci * @since 9
102461847f8eSopenharmony_ci */
102561847f8eSopenharmony_ciinterface Rect {
102661847f8eSopenharmony_ci  /**
102761847f8eSopenharmony_ci   * The left position of Rect
102861847f8eSopenharmony_ci   *
102961847f8eSopenharmony_ci   * @type { number }
103061847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
103161847f8eSopenharmony_ci   * @since 9
103261847f8eSopenharmony_ci   */
103361847f8eSopenharmony_ci  left: number;
103461847f8eSopenharmony_ci  /**
103561847f8eSopenharmony_ci   * The top position of Rect
103661847f8eSopenharmony_ci   *
103761847f8eSopenharmony_ci   * @type { number }
103861847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
103961847f8eSopenharmony_ci   * @since 9
104061847f8eSopenharmony_ci   */
104161847f8eSopenharmony_ci  top: number;
104261847f8eSopenharmony_ci  /**
104361847f8eSopenharmony_ci   * The width position of Rect
104461847f8eSopenharmony_ci   *
104561847f8eSopenharmony_ci   * @type { number }
104661847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
104761847f8eSopenharmony_ci   * @since 9
104861847f8eSopenharmony_ci   */
104961847f8eSopenharmony_ci  width: number;
105061847f8eSopenharmony_ci  /**
105161847f8eSopenharmony_ci   * The height position of Rect
105261847f8eSopenharmony_ci   *
105361847f8eSopenharmony_ci   * @type { number }
105461847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
105561847f8eSopenharmony_ci   * @since 9
105661847f8eSopenharmony_ci   */
105761847f8eSopenharmony_ci  height: number;
105861847f8eSopenharmony_ci}
1059