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
1861847f8eSopenharmony_ci * @kit AccessibilityKit
1961847f8eSopenharmony_ci */
2061847f8eSopenharmony_ci
2161847f8eSopenharmony_ciimport type { AsyncCallback } from './@ohos.base';
2261847f8eSopenharmony_ciimport type { Callback } from './@ohos.base';
2361847f8eSopenharmony_ci
2461847f8eSopenharmony_ci/**
2561847f8eSopenharmony_ci * Accessibility
2661847f8eSopenharmony_ci *
2761847f8eSopenharmony_ci * @namespace accessibility
2861847f8eSopenharmony_ci * @syscap SystemCapability.BarrierFree.Accessibility.Core
2961847f8eSopenharmony_ci * @since 7
3061847f8eSopenharmony_ci */
3161847f8eSopenharmony_ci/**
3261847f8eSopenharmony_ci * Accessibility
3361847f8eSopenharmony_ci *
3461847f8eSopenharmony_ci * @namespace accessibility
3561847f8eSopenharmony_ci * @syscap SystemCapability.BarrierFree.Accessibility.Core
3661847f8eSopenharmony_ci * @atomicservice
3761847f8eSopenharmony_ci * @since 11
3861847f8eSopenharmony_ci */
3961847f8eSopenharmony_cideclare namespace accessibility {
4061847f8eSopenharmony_ci  /**
4161847f8eSopenharmony_ci   * The type of the Ability app.
4261847f8eSopenharmony_ci   *
4361847f8eSopenharmony_ci   *{ 'audible' | 'generic' | 'haptic' | 'spoken' | 'visual' }
4461847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
4561847f8eSopenharmony_ci   * @since 7
4661847f8eSopenharmony_ci   */
4761847f8eSopenharmony_ci  /**
4861847f8eSopenharmony_ci   * The type of the Ability app.
4961847f8eSopenharmony_ci   *
5061847f8eSopenharmony_ci   * { 'audible' | 'generic' | 'haptic' | 'spoken' | 'visual' | 'all' }
5161847f8eSopenharmony_ci   * @typedef {'audible' | 'generic' | 'haptic' | 'spoken' | 'visual' | 'all'}
5261847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
5361847f8eSopenharmony_ci   * @since 9
5461847f8eSopenharmony_ci   */
5561847f8eSopenharmony_ci  type AbilityType = 'audible' | 'generic' | 'haptic' | 'spoken' | 'visual' | 'all';
5661847f8eSopenharmony_ci
5761847f8eSopenharmony_ci  /**
5861847f8eSopenharmony_ci   * The action that the ability can execute.
5961847f8eSopenharmony_ci   * value range: { 'accessibilityFocus' | 'clearAccessibilityFocus' | 'focus' | 'clearFocus' | 'clearSelection' |
6061847f8eSopenharmony_ci   * 'click' | 'longClick' | 'cut' | 'copy' | 'paste' | 'select' | 'setText' | 'delete' |
6161847f8eSopenharmony_ci   * 'scrollForward' | 'scrollBackward' | 'setSelection' }
6261847f8eSopenharmony_ci   *
6361847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
6461847f8eSopenharmony_ci   * @since 7
6561847f8eSopenharmony_ci   */
6661847f8eSopenharmony_ci  /**
6761847f8eSopenharmony_ci   * The action that the ability can execute.
6861847f8eSopenharmony_ci   * value range: { 'accessibilityFocus' | 'clearAccessibilityFocus' | 'focus' | 'clearFocus' | 'clearSelection' |
6961847f8eSopenharmony_ci   * 'click' | 'longClick' | 'cut' | 'copy' | 'paste' | 'select' | 'setText' | 'delete' |
7061847f8eSopenharmony_ci   * 'scrollForward' | 'scrollBackward' | 'setSelection' | 'setCursorPosition' | 'home' |
7161847f8eSopenharmony_ci   * 'back' | 'recentTask' | 'notificationCenter' | 'controlCenter' | 'common' }
7261847f8eSopenharmony_ci   *
7361847f8eSopenharmony_ci   * @typedef {'accessibilityFocus' | 'clearAccessibilityFocus' | 'focus' | 'clearFocus' | 'clearSelection' | 'click' | 'longClick' | 'cut' | 'copy' | 'paste' | 'select' | 'setText' | 'delete' | 'scrollForward' | 'scrollBackward' | 'setSelection' | 'setCursorPosition' | 'home' | 'back' | 'recentTask' | 'notificationCenter' | 'controlCenter' | 'common'}
7461847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
7561847f8eSopenharmony_ci   * @since 12
7661847f8eSopenharmony_ci   */
7761847f8eSopenharmony_ci  type Action = 'accessibilityFocus' | 'clearAccessibilityFocus' | 'focus' | 'clearFocus' | 'clearSelection' |
7861847f8eSopenharmony_ci  'click' | 'longClick' | 'cut' | 'copy' | 'paste' | 'select' | 'setText' | 'delete' |
7961847f8eSopenharmony_ci  'scrollForward' | 'scrollBackward' | 'setSelection' | 'setCursorPosition' | 'home' |
8061847f8eSopenharmony_ci  'back' | 'recentTask' | 'notificationCenter' | 'controlCenter' | 'common';
8161847f8eSopenharmony_ci
8261847f8eSopenharmony_ci  /**
8361847f8eSopenharmony_ci   * The type of the accessibility event.
8461847f8eSopenharmony_ci   * windowsChange/windowContentChange/windowStateChange/announcement/notificationChange/textTraversedAtMove
8561847f8eSopenharmony_ci   * value range: { 'accessibilityFocus' | 'accessibilityFocusClear' |
8661847f8eSopenharmony_ci   * 'click' | 'longClick' | 'focus' | 'select' | 'hoverEnter' | 'hoverExit' |
8761847f8eSopenharmony_ci   * 'textUpdate' | 'textSelectionUpdate' | 'scroll' }
8861847f8eSopenharmony_ci   *
8961847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
9061847f8eSopenharmony_ci   * @since 7
9161847f8eSopenharmony_ci   */
9261847f8eSopenharmony_ci  /**
9361847f8eSopenharmony_ci   * The type of the accessibility event.
9461847f8eSopenharmony_ci   * windowsChange/windowContentChange/windowStateChange/announcement/notificationChange/textTraversedAtMove
9561847f8eSopenharmony_ci   * value range: { 'accessibilityFocus' | 'accessibilityFocusClear' |
9661847f8eSopenharmony_ci   * 'click' | 'longClick' | 'focus' | 'select' | 'hoverEnter' | 'hoverExit' |
9761847f8eSopenharmony_ci   * 'textUpdate' | 'textSelectionUpdate' | 'scroll' | 'requestFocusForAccessibility' |
9861847f8eSopenharmony_ci   * 'announceForAccessibility' }
9961847f8eSopenharmony_ci   *
10061847f8eSopenharmony_ci   * @typedef {'accessibilityFocus' | 'accessibilityFocusClear' | 'click' | 'longClick' | 'focus' | 'select' | 'hoverEnter' | 'hoverExit' | 'textUpdate' | 'textSelectionUpdate' | 'scroll' | 'requestFocusForAccessibility' | 'announceForAccessibility'}
10161847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
10261847f8eSopenharmony_ci   * @since 12
10361847f8eSopenharmony_ci   */
10461847f8eSopenharmony_ci  type EventType = 'accessibilityFocus' | 'accessibilityFocusClear' |
10561847f8eSopenharmony_ci  'click' | 'longClick' | 'focus' | 'select' | 'hoverEnter' | 'hoverExit' |
10661847f8eSopenharmony_ci  'textUpdate' | 'textSelectionUpdate' | 'scroll' | 'requestFocusForAccessibility' |
10761847f8eSopenharmony_ci  'announceForAccessibility';
10861847f8eSopenharmony_ci
10961847f8eSopenharmony_ci  /**
11061847f8eSopenharmony_ci   * The change type of the windowsChange event.
11161847f8eSopenharmony_ci   * It's used when received the {@code windowsChange} event.
11261847f8eSopenharmony_ci   *
11361847f8eSopenharmony_ci   * @typedef {'add' | 'remove' | 'bounds' | 'active' | 'focus'}
11461847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
11561847f8eSopenharmony_ci   * @since 7
11661847f8eSopenharmony_ci   */
11761847f8eSopenharmony_ci  type WindowUpdateType = 'add' | 'remove' | 'bounds' | 'active' | 'focus';
11861847f8eSopenharmony_ci
11961847f8eSopenharmony_ci  /**
12061847f8eSopenharmony_ci   * The type of the ability state.
12161847f8eSopenharmony_ci   *
12261847f8eSopenharmony_ci   * @typedef {'enable' | 'disable' | 'install'}
12361847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
12461847f8eSopenharmony_ci   * @since 7
12561847f8eSopenharmony_ci   */
12661847f8eSopenharmony_ci  type AbilityState = 'enable' | 'disable' | 'install';
12761847f8eSopenharmony_ci
12861847f8eSopenharmony_ci  /**
12961847f8eSopenharmony_ci   * The ability that accessibility subsystem support.
13061847f8eSopenharmony_ci   * touchExplorer: Describes the capability to talkback.
13161847f8eSopenharmony_ci   * magnification: Describes the capability to request to control the display magnification.
13261847f8eSopenharmony_ci   * gesturesSimulation: Describes the capability to request to simulate the gesture.
13361847f8eSopenharmony_ci   * windowContent: Describes the capability to search for the content of the active window.
13461847f8eSopenharmony_ci   * filterKeyEvents: Describes the capability to request to filter key events.
13561847f8eSopenharmony_ci   * fingerprintGesture: Describes the capability to request to fingerprint gesture.
13661847f8eSopenharmony_ci   *
13761847f8eSopenharmony_ci   * @typedef {'retrieve' | 'touchGuide' | 'keyEventObserver' | 'zoom' | 'gesture'}
13861847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
13961847f8eSopenharmony_ci   * @since 7
14061847f8eSopenharmony_ci   */
14161847f8eSopenharmony_ci  type Capability = 'retrieve' | 'touchGuide' | 'keyEventObserver' | 'zoom' | 'gesture';
14261847f8eSopenharmony_ci
14361847f8eSopenharmony_ci  /**
14461847f8eSopenharmony_ci   * The granularity of text move.
14561847f8eSopenharmony_ci   *
14661847f8eSopenharmony_ci   * @typedef {'char' | 'word' | 'line' | 'page' | 'paragraph'}
14761847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
14861847f8eSopenharmony_ci   * @since 7
14961847f8eSopenharmony_ci   */
15061847f8eSopenharmony_ci  type TextMoveUnit = 'char' | 'word' | 'line' | 'page' | 'paragraph';
15161847f8eSopenharmony_ci
15261847f8eSopenharmony_ci  /**
15361847f8eSopenharmony_ci   * Checks whether accessibility ability is enabled.
15461847f8eSopenharmony_ci   *
15561847f8eSopenharmony_ci   * @param { AsyncCallback<boolean> } callback Asynchronous callback interface.
15661847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
15761847f8eSopenharmony_ci   * @since 7
15861847f8eSopenharmony_ci   * @deprecated since 10
15961847f8eSopenharmony_ci   * @useinstead ohos.accessibility#isOpenAccessibilitySync
16061847f8eSopenharmony_ci   */
16161847f8eSopenharmony_ci  function isOpenAccessibility(callback: AsyncCallback<boolean>): void;
16261847f8eSopenharmony_ci
16361847f8eSopenharmony_ci  /**
16461847f8eSopenharmony_ci   * Checks whether accessibility ability is enabled.
16561847f8eSopenharmony_ci   *
16661847f8eSopenharmony_ci   * @returns { Promise<boolean> } Returns {@code true} if the accessibility is enabled; returns {@code false} otherwise.
16761847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
16861847f8eSopenharmony_ci   * @since 7
16961847f8eSopenharmony_ci   * @deprecated since 10
17061847f8eSopenharmony_ci   * @useinstead ohos.accessibility#isOpenAccessibilitySync
17161847f8eSopenharmony_ci   */
17261847f8eSopenharmony_ci  function isOpenAccessibility(): Promise<boolean>;
17361847f8eSopenharmony_ci
17461847f8eSopenharmony_ci  /**
17561847f8eSopenharmony_ci   * Checks whether accessibility ability is enabled.
17661847f8eSopenharmony_ci   *
17761847f8eSopenharmony_ci   * @returns { boolean } Returns true if the accessibility is enabled; returns false otherwise.
17861847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
17961847f8eSopenharmony_ci   * @since 10
18061847f8eSopenharmony_ci   */
18161847f8eSopenharmony_ci  /**
18261847f8eSopenharmony_ci   * Checks whether accessibility ability is enabled.
18361847f8eSopenharmony_ci   *
18461847f8eSopenharmony_ci   * @returns { boolean } Returns true if the accessibility is enabled; returns false otherwise.
18561847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
18661847f8eSopenharmony_ci   * @atomicservice
18761847f8eSopenharmony_ci   * @since 11
18861847f8eSopenharmony_ci   */
18961847f8eSopenharmony_ci  function isOpenAccessibilitySync(): boolean;
19061847f8eSopenharmony_ci
19161847f8eSopenharmony_ci  /**
19261847f8eSopenharmony_ci   * Checks touch browser ability (which is used by talkback) is enabled.
19361847f8eSopenharmony_ci   *
19461847f8eSopenharmony_ci   * @param { AsyncCallback<boolean> } callback Asynchronous callback interface.
19561847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Vision
19661847f8eSopenharmony_ci   * @since 7
19761847f8eSopenharmony_ci   * @deprecated since 10
19861847f8eSopenharmony_ci   * @useinstead ohos.accessibility#isOpenTouchGuideSync
19961847f8eSopenharmony_ci   */
20061847f8eSopenharmony_ci  function isOpenTouchGuide(callback: AsyncCallback<boolean>): void;
20161847f8eSopenharmony_ci
20261847f8eSopenharmony_ci  /**
20361847f8eSopenharmony_ci   * Checks touch browser ability (which is used by talkback) is enabled.
20461847f8eSopenharmony_ci   *
20561847f8eSopenharmony_ci   * @returns { Promise<boolean> } Returns {@code true} if the touch browser is enabled; returns {@code false} otherwise.
20661847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Vision
20761847f8eSopenharmony_ci   * @since 7
20861847f8eSopenharmony_ci   * @deprecated since 10
20961847f8eSopenharmony_ci   * @useinstead ohos.accessibility#isOpenTouchGuideSync
21061847f8eSopenharmony_ci   */
21161847f8eSopenharmony_ci  function isOpenTouchGuide(): Promise<boolean>;
21261847f8eSopenharmony_ci
21361847f8eSopenharmony_ci  /**
21461847f8eSopenharmony_ci   * Checks touch browser ability (which is used by talkback) is enabled.
21561847f8eSopenharmony_ci   *
21661847f8eSopenharmony_ci   * @returns { boolean } Returns true if the touch browser is enabled; returns false otherwise.
21761847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Vision
21861847f8eSopenharmony_ci   * @since 10
21961847f8eSopenharmony_ci   */
22061847f8eSopenharmony_ci  /**
22161847f8eSopenharmony_ci   * Checks touch browser ability (which is used by talkback) is enabled.
22261847f8eSopenharmony_ci   *
22361847f8eSopenharmony_ci   * @returns { boolean } Returns true if the touch browser is enabled; returns false otherwise.
22461847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Vision
22561847f8eSopenharmony_ci   * @atomicservice
22661847f8eSopenharmony_ci   * @since 11
22761847f8eSopenharmony_ci   */
22861847f8eSopenharmony_ci  function isOpenTouchGuideSync(): boolean;
22961847f8eSopenharmony_ci
23061847f8eSopenharmony_ci  /**
23161847f8eSopenharmony_ci   * Queries the list of accessibility abilities.
23261847f8eSopenharmony_ci   *
23361847f8eSopenharmony_ci   * @param { AbilityType } abilityType The type of the accessibility ability. {@code AbilityType} eg.spoken
23461847f8eSopenharmony_ci   * @param { AbilityState } stateType The state of the accessibility ability.  {@code AbilityState} eg.installed
23561847f8eSopenharmony_ci   * @param { AsyncCallback<Array<AccessibilityAbilityInfo>> } callback
23661847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
23761847f8eSopenharmony_ci   * @since 7
23861847f8eSopenharmony_ci   * @deprecated since 9
23961847f8eSopenharmony_ci   * @useinstead ohos.accessibility#getAccessibilityExtensionList
24061847f8eSopenharmony_ci   */
24161847f8eSopenharmony_ci  function getAbilityLists(
24261847f8eSopenharmony_ci    abilityType: AbilityType,
24361847f8eSopenharmony_ci    stateType: AbilityState,
24461847f8eSopenharmony_ci    callback: AsyncCallback<Array<AccessibilityAbilityInfo>>
24561847f8eSopenharmony_ci  ): void;
24661847f8eSopenharmony_ci
24761847f8eSopenharmony_ci  /**
24861847f8eSopenharmony_ci   * Queries the list of accessibility abilities.
24961847f8eSopenharmony_ci   *
25061847f8eSopenharmony_ci   * @param { AbilityType } abilityType The type of the accessibility ability. {@code AbilityType} eg.spoken
25161847f8eSopenharmony_ci   * @param { AbilityState } stateType The state of the accessibility ability.  {@code AbilityState} eg.installed
25261847f8eSopenharmony_ci   * @returns { Promise<Array<AccessibilityAbilityInfo>> } Returns the list of abilityInfos.
25361847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
25461847f8eSopenharmony_ci   * @since 7
25561847f8eSopenharmony_ci   * @deprecated since 9
25661847f8eSopenharmony_ci   * @useinstead ohos.accessibility#getAccessibilityExtensionList
25761847f8eSopenharmony_ci   */
25861847f8eSopenharmony_ci  function getAbilityLists(abilityType: AbilityType, stateType: AbilityState): Promise<Array<AccessibilityAbilityInfo>>;
25961847f8eSopenharmony_ci
26061847f8eSopenharmony_ci  /**
26161847f8eSopenharmony_ci   * Queries the list of accessibility abilities.
26261847f8eSopenharmony_ci   *
26361847f8eSopenharmony_ci   * @param { AbilityType } abilityType The type of the accessibility ability. {@code AbilityType} eg.spoken
26461847f8eSopenharmony_ci   * @param { AbilityState } stateType The state of the accessibility ability.  {@code AbilityState} eg.installed
26561847f8eSopenharmony_ci   * @returns { Promise<Array<AccessibilityAbilityInfo>> } Returns the list of abilityInfos.
26661847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Input parameter error. Possible causes:
26761847f8eSopenharmony_ci   *     1. Mandatory parameters are left unspecified;
26861847f8eSopenharmony_ci   *     2. Incorrect parameter types;
26961847f8eSopenharmony_ci   *     3. Parameter verification failed.
27061847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
27161847f8eSopenharmony_ci   * @since 9
27261847f8eSopenharmony_ci   */
27361847f8eSopenharmony_ci  function getAccessibilityExtensionList(
27461847f8eSopenharmony_ci    abilityType: AbilityType,
27561847f8eSopenharmony_ci    stateType: AbilityState
27661847f8eSopenharmony_ci  ): Promise<Array<AccessibilityAbilityInfo>>;
27761847f8eSopenharmony_ci
27861847f8eSopenharmony_ci  /**
27961847f8eSopenharmony_ci   * Queries the list of accessibility abilities.
28061847f8eSopenharmony_ci   *
28161847f8eSopenharmony_ci   * @param { AbilityType } abilityType The type of the accessibility ability. {@code AbilityType} eg.spoken
28261847f8eSopenharmony_ci   * @param { AbilityState } stateType The state of the accessibility ability.  {@code AbilityState} eg.installed
28361847f8eSopenharmony_ci   * @param { AsyncCallback<Array<AccessibilityAbilityInfo>> } callback
28461847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Input parameter error. Possible causes:
28561847f8eSopenharmony_ci   *     1. Mandatory parameters are left unspecified;
28661847f8eSopenharmony_ci   *     2. Incorrect parameter types;
28761847f8eSopenharmony_ci   *     3. Parameter verification failed.
28861847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
28961847f8eSopenharmony_ci   * @since 9
29061847f8eSopenharmony_ci   */
29161847f8eSopenharmony_ci  function getAccessibilityExtensionList(
29261847f8eSopenharmony_ci    abilityType: AbilityType,
29361847f8eSopenharmony_ci    stateType: AbilityState,
29461847f8eSopenharmony_ci    callback: AsyncCallback<Array<AccessibilityAbilityInfo>>
29561847f8eSopenharmony_ci  ): void;
29661847f8eSopenharmony_ci
29761847f8eSopenharmony_ci  /**
29861847f8eSopenharmony_ci   * Queries the list of accessibility abilities.
29961847f8eSopenharmony_ci   *
30061847f8eSopenharmony_ci   * @param { AbilityType } abilityType The type of the accessibility ability. {@code AbilityType} eg.spoken
30161847f8eSopenharmony_ci   * @param { AbilityState } stateType The state of the accessibility ability.  {@code AbilityState} eg.installed
30261847f8eSopenharmony_ci   * @returns { Array<AccessibilityAbilityInfo> } Returns the list of abilityInfos.
30361847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
30461847f8eSopenharmony_ci   * @since 12
30561847f8eSopenharmony_ci   */
30661847f8eSopenharmony_ci  function getAccessibilityExtensionListSync(
30761847f8eSopenharmony_ci    abilityType: AbilityType,
30861847f8eSopenharmony_ci    stateType: AbilityState
30961847f8eSopenharmony_ci  ): Array<AccessibilityAbilityInfo>;
31061847f8eSopenharmony_ci
31161847f8eSopenharmony_ci  /**
31261847f8eSopenharmony_ci   * Send accessibility Event.
31361847f8eSopenharmony_ci   *
31461847f8eSopenharmony_ci   * @param { EventInfo } event The object of the accessibility {@code EventInfo} .
31561847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback Asynchronous callback interface.
31661847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
31761847f8eSopenharmony_ci   * @since 7
31861847f8eSopenharmony_ci   * @deprecated since 9
31961847f8eSopenharmony_ci   * @useinstead ohos.accessibility#sendAccessibilityEvent
32061847f8eSopenharmony_ci   */
32161847f8eSopenharmony_ci  function sendEvent(event: EventInfo, callback: AsyncCallback<void>): void;
32261847f8eSopenharmony_ci
32361847f8eSopenharmony_ci  /**
32461847f8eSopenharmony_ci   * Send accessibility Event.
32561847f8eSopenharmony_ci   *
32661847f8eSopenharmony_ci   * @param { EventInfo } event The object of the accessibility {@code EventInfo} .
32761847f8eSopenharmony_ci   * @returns { Promise<void> } Returns {@code true} if success ; returns {@code false} otherwise.
32861847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
32961847f8eSopenharmony_ci   * @since 7
33061847f8eSopenharmony_ci   * @deprecated since 9
33161847f8eSopenharmony_ci   * @useinstead ohos.accessibility#sendAccessibilityEvent
33261847f8eSopenharmony_ci   */
33361847f8eSopenharmony_ci  function sendEvent(event: EventInfo): Promise<void>;
33461847f8eSopenharmony_ci
33561847f8eSopenharmony_ci  /**
33661847f8eSopenharmony_ci   * Send accessibility event.
33761847f8eSopenharmony_ci   *
33861847f8eSopenharmony_ci   * @param { EventInfo } event The object of the accessibility {@code EventInfo} .
33961847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback Asynchronous callback interface.
34061847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Input parameter error. Possible causes:
34161847f8eSopenharmony_ci   *     1. Mandatory parameters are left unspecified;
34261847f8eSopenharmony_ci   *     2. Incorrect parameter types;
34361847f8eSopenharmony_ci   *     3. Parameter verification failed.
34461847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
34561847f8eSopenharmony_ci   * @since 9
34661847f8eSopenharmony_ci   */
34761847f8eSopenharmony_ci  function sendAccessibilityEvent(event: EventInfo, callback: AsyncCallback<void>): void;
34861847f8eSopenharmony_ci
34961847f8eSopenharmony_ci  /**
35061847f8eSopenharmony_ci   * Send accessibility event.
35161847f8eSopenharmony_ci   *
35261847f8eSopenharmony_ci   * @param { EventInfo } event The object of the accessibility {@code EventInfo} .
35361847f8eSopenharmony_ci   * @returns { Promise<void> } Returns {@code true} if success ; returns {@code false} otherwise.
35461847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Input parameter error. Possible causes:
35561847f8eSopenharmony_ci   *     1. Mandatory parameters are left unspecified;
35661847f8eSopenharmony_ci   *     2. Incorrect parameter types;
35761847f8eSopenharmony_ci   *     3. Parameter verification failed.
35861847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
35961847f8eSopenharmony_ci   * @since 9
36061847f8eSopenharmony_ci   */
36161847f8eSopenharmony_ci  function sendAccessibilityEvent(event: EventInfo): Promise<void>;
36261847f8eSopenharmony_ci
36361847f8eSopenharmony_ci  /**
36461847f8eSopenharmony_ci   * Register the observe of the accessibility state changed.
36561847f8eSopenharmony_ci   *
36661847f8eSopenharmony_ci   * @param { 'accessibilityStateChange' } type state event type.
36761847f8eSopenharmony_ci   * @param { Callback<boolean> } callback Asynchronous callback interface.
36861847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Input parameter error. Possible causes:
36961847f8eSopenharmony_ci   *     1. Mandatory parameters are left unspecified;
37061847f8eSopenharmony_ci   *     2. Incorrect parameter types;
37161847f8eSopenharmony_ci   *     3. Parameter verification failed.
37261847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
37361847f8eSopenharmony_ci   * @since 7
37461847f8eSopenharmony_ci   */
37561847f8eSopenharmony_ci  function on(type: 'accessibilityStateChange', callback: Callback<boolean>): void;
37661847f8eSopenharmony_ci
37761847f8eSopenharmony_ci  /**
37861847f8eSopenharmony_ci   * Register the observe of the touchGuide state changed.
37961847f8eSopenharmony_ci   *
38061847f8eSopenharmony_ci   * @param { 'touchGuideStateChange' } type state event type.
38161847f8eSopenharmony_ci   * @param { Callback<boolean> } callback Asynchronous callback interface.
38261847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Input parameter error. Possible causes:
38361847f8eSopenharmony_ci   *     1. Mandatory parameters are left unspecified;
38461847f8eSopenharmony_ci   *     2. Incorrect parameter types;
38561847f8eSopenharmony_ci   *     3. Parameter verification failed.
38661847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Vision
38761847f8eSopenharmony_ci   * @since 7
38861847f8eSopenharmony_ci   */
38961847f8eSopenharmony_ci  function on(type: 'touchGuideStateChange', callback: Callback<boolean>): void;
39061847f8eSopenharmony_ci
39161847f8eSopenharmony_ci  /**
39261847f8eSopenharmony_ci   * Unregister the observe of the accessibility state changed.
39361847f8eSopenharmony_ci   *
39461847f8eSopenharmony_ci   * @param { 'accessibilityStateChange' } type state event type
39561847f8eSopenharmony_ci   * @param { Callback<boolean> } callback Asynchronous callback interface.
39661847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Input parameter error. Possible causes:
39761847f8eSopenharmony_ci   *     1. Mandatory parameters are left unspecified;
39861847f8eSopenharmony_ci   *     2. Incorrect parameter types;
39961847f8eSopenharmony_ci   *     3. Parameter verification failed.
40061847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
40161847f8eSopenharmony_ci   * @since 7
40261847f8eSopenharmony_ci   */
40361847f8eSopenharmony_ci  function off(type: 'accessibilityStateChange', callback?: Callback<boolean>): void;
40461847f8eSopenharmony_ci
40561847f8eSopenharmony_ci  /**
40661847f8eSopenharmony_ci   * Unregister the observe of the touchGuide state changed.
40761847f8eSopenharmony_ci   *
40861847f8eSopenharmony_ci   * @param { 'touchGuideStateChange' } type state event type
40961847f8eSopenharmony_ci   * @param { Callback<boolean> } callback Asynchronous callback interface.
41061847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Input parameter error. Possible causes:
41161847f8eSopenharmony_ci   *     1. Mandatory parameters are left unspecified;
41261847f8eSopenharmony_ci   *     2. Incorrect parameter types;
41361847f8eSopenharmony_ci   *     3. Parameter verification failed.
41461847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
41561847f8eSopenharmony_ci   * @since 7
41661847f8eSopenharmony_ci   */
41761847f8eSopenharmony_ci  function off(type: 'touchGuideStateChange', callback?: Callback<boolean>): void;
41861847f8eSopenharmony_ci
41961847f8eSopenharmony_ci  /**
42061847f8eSopenharmony_ci   * Get the captions manager.
42161847f8eSopenharmony_ci   *
42261847f8eSopenharmony_ci   * @returns { CaptionsManager } Returns the captions manager.
42361847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Hearing
42461847f8eSopenharmony_ci   * @since 8
42561847f8eSopenharmony_ci   * @deprecated since 12
42661847f8eSopenharmony_ci   */
42761847f8eSopenharmony_ci  function getCaptionsManager(): CaptionsManager;
42861847f8eSopenharmony_ci
42961847f8eSopenharmony_ci  /**
43061847f8eSopenharmony_ci   * Indicates the captions manager.
43161847f8eSopenharmony_ci   *
43261847f8eSopenharmony_ci   * @typedef CaptionsManager
43361847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Hearing
43461847f8eSopenharmony_ci   * @since 8
43561847f8eSopenharmony_ci   */
43661847f8eSopenharmony_ci  interface CaptionsManager {
43761847f8eSopenharmony_ci    /**
43861847f8eSopenharmony_ci     * Indicates whether captions are enabled.
43961847f8eSopenharmony_ci     *
44061847f8eSopenharmony_ci     * @type {boolean}
44161847f8eSopenharmony_ci     * @syscap SystemCapability.BarrierFree.Accessibility.Hearing
44261847f8eSopenharmony_ci     * @since 8
44361847f8eSopenharmony_ci     */
44461847f8eSopenharmony_ci    enabled: boolean;
44561847f8eSopenharmony_ci    /**
44661847f8eSopenharmony_ci     * Indicates the style of captions.
44761847f8eSopenharmony_ci     *
44861847f8eSopenharmony_ci     * @type {CaptionsStyle}
44961847f8eSopenharmony_ci     * @syscap SystemCapability.BarrierFree.Accessibility.Hearing
45061847f8eSopenharmony_ci     * @since 8
45161847f8eSopenharmony_ci     */
45261847f8eSopenharmony_ci    style: CaptionsStyle;
45361847f8eSopenharmony_ci
45461847f8eSopenharmony_ci    /**
45561847f8eSopenharmony_ci     * Register the observe of the enable state.
45661847f8eSopenharmony_ci     *
45761847f8eSopenharmony_ci     * @param { 'enableChange' } type
45861847f8eSopenharmony_ci     * @param { Callback<boolean> } callback
45961847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Input parameter error. Possible causes:
46061847f8eSopenharmony_ci     *     1. Mandatory parameters are left unspecified;
46161847f8eSopenharmony_ci     *     2. Incorrect parameter types;
46261847f8eSopenharmony_ci     *     3. Parameter verification failed.
46361847f8eSopenharmony_ci     * @syscap SystemCapability.BarrierFree.Accessibility.Hearing
46461847f8eSopenharmony_ci     * @since 8
46561847f8eSopenharmony_ci     * @deprecated since 12
46661847f8eSopenharmony_ci     */
46761847f8eSopenharmony_ci    on(type: 'enableChange', callback: Callback<boolean>): void;
46861847f8eSopenharmony_ci
46961847f8eSopenharmony_ci    /**
47061847f8eSopenharmony_ci     * Register the observer of the style.
47161847f8eSopenharmony_ci     *
47261847f8eSopenharmony_ci     * @param { 'styleChange' } type
47361847f8eSopenharmony_ci     * @param { Callback<CaptionsStyle> } callback
47461847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Input parameter error. Possible causes:
47561847f8eSopenharmony_ci     *     1. Mandatory parameters are left unspecified;
47661847f8eSopenharmony_ci     *     2. Incorrect parameter types;
47761847f8eSopenharmony_ci     *     3. Parameter verification failed.
47861847f8eSopenharmony_ci     * @syscap SystemCapability.BarrierFree.Accessibility.Hearing
47961847f8eSopenharmony_ci     * @since 8
48061847f8eSopenharmony_ci     * @deprecated since 12
48161847f8eSopenharmony_ci     */
48261847f8eSopenharmony_ci    on(type: 'styleChange', callback: Callback<CaptionsStyle>): void;
48361847f8eSopenharmony_ci
48461847f8eSopenharmony_ci    /**
48561847f8eSopenharmony_ci     * Unregister the observe of the enable state.
48661847f8eSopenharmony_ci     *
48761847f8eSopenharmony_ci     * @param { 'enableChange' } type
48861847f8eSopenharmony_ci     * @param { Callback<boolean> } callback
48961847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Input parameter error. Possible causes:
49061847f8eSopenharmony_ci     *     1. Mandatory parameters are left unspecified;
49161847f8eSopenharmony_ci     *     2. Incorrect parameter types;
49261847f8eSopenharmony_ci     *     3. Parameter verification failed.
49361847f8eSopenharmony_ci     * @syscap SystemCapability.BarrierFree.Accessibility.Hearing
49461847f8eSopenharmony_ci     * @since 8
49561847f8eSopenharmony_ci     * @deprecated since 12
49661847f8eSopenharmony_ci     */
49761847f8eSopenharmony_ci    off(type: 'enableChange', callback?: Callback<boolean>): void;
49861847f8eSopenharmony_ci
49961847f8eSopenharmony_ci    /**
50061847f8eSopenharmony_ci     * Unregister the observer of the style.
50161847f8eSopenharmony_ci     *
50261847f8eSopenharmony_ci     * @param { 'styleChange' } type
50361847f8eSopenharmony_ci     * @param { Callback<CaptionsStyle> } callback
50461847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Input parameter error. Possible causes:
50561847f8eSopenharmony_ci     *     1. Mandatory parameters are left unspecified;
50661847f8eSopenharmony_ci     *     2. Incorrect parameter types;
50761847f8eSopenharmony_ci     *     3. Parameter verification failed.
50861847f8eSopenharmony_ci     * @syscap SystemCapability.BarrierFree.Accessibility.Hearing
50961847f8eSopenharmony_ci     * @since 8
51061847f8eSopenharmony_ci     * @deprecated since 12
51161847f8eSopenharmony_ci     */
51261847f8eSopenharmony_ci    off(type: 'styleChange', callback?: Callback<CaptionsStyle>): void;
51361847f8eSopenharmony_ci  }
51461847f8eSopenharmony_ci
51561847f8eSopenharmony_ci  /**
51661847f8eSopenharmony_ci   * Indicates the edge type of the captions font.
51761847f8eSopenharmony_ci   *
51861847f8eSopenharmony_ci   * @typedef {'none' | 'raised' | 'depressed' | 'uniform' | 'dropShadow'}
51961847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Hearing
52061847f8eSopenharmony_ci   * @since 8
52161847f8eSopenharmony_ci   */
52261847f8eSopenharmony_ci  type CaptionsFontEdgeType = 'none' | 'raised' | 'depressed' | 'uniform' | 'dropShadow';
52361847f8eSopenharmony_ci  /**
52461847f8eSopenharmony_ci   * Indicates the font family of captions.
52561847f8eSopenharmony_ci   *
52661847f8eSopenharmony_ci   * @typedef {'default' | 'monospacedSerif' | 'serif' | 'monospacedSansSerif' | 'sansSerif' | 'casual' | 'cursive' | 'smallCapitals'}     
52761847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Hearing
52861847f8eSopenharmony_ci   * @since 8
52961847f8eSopenharmony_ci   */
53061847f8eSopenharmony_ci  type CaptionsFontFamily = 'default' | 'monospacedSerif' | 'serif' |      
53161847f8eSopenharmony_ci  'monospacedSansSerif' | 'sansSerif' | 'casual' | 'cursive' | 'smallCapitals';
53261847f8eSopenharmony_ci  /**
53361847f8eSopenharmony_ci   * Indicates the style of captions.
53461847f8eSopenharmony_ci   *
53561847f8eSopenharmony_ci   * @typedef CaptionsStyle
53661847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Hearing
53761847f8eSopenharmony_ci   * @since 8
53861847f8eSopenharmony_ci   */
53961847f8eSopenharmony_ci  interface CaptionsStyle {
54061847f8eSopenharmony_ci    /**
54161847f8eSopenharmony_ci     * Indicates the font family of captions.
54261847f8eSopenharmony_ci     *
54361847f8eSopenharmony_ci     * @type {CaptionsFontFamily}
54461847f8eSopenharmony_ci     * @syscap SystemCapability.BarrierFree.Accessibility.Hearing
54561847f8eSopenharmony_ci     * @since 8
54661847f8eSopenharmony_ci     */
54761847f8eSopenharmony_ci    fontFamily: CaptionsFontFamily;
54861847f8eSopenharmony_ci    /**
54961847f8eSopenharmony_ci     * Indicates the font scaling of captions.
55061847f8eSopenharmony_ci     * @type { number }
55161847f8eSopenharmony_ci     * @syscap SystemCapability.BarrierFree.Accessibility.Hearing
55261847f8eSopenharmony_ci     * @since 8
55361847f8eSopenharmony_ci     */
55461847f8eSopenharmony_ci    fontScale: number;
55561847f8eSopenharmony_ci    /**
55661847f8eSopenharmony_ci     * Indicates the font color of captions.
55761847f8eSopenharmony_ci     * @type { number | string }
55861847f8eSopenharmony_ci     * @syscap SystemCapability.BarrierFree.Accessibility.Hearing
55961847f8eSopenharmony_ci     * @since 8
56061847f8eSopenharmony_ci     */
56161847f8eSopenharmony_ci    fontColor: number | string;
56261847f8eSopenharmony_ci    /**
56361847f8eSopenharmony_ci     * Indicates the edge type of the captions font.
56461847f8eSopenharmony_ci     * @type { CaptionsFontEdgeType }
56561847f8eSopenharmony_ci     * @syscap SystemCapability.BarrierFree.Accessibility.Hearing
56661847f8eSopenharmony_ci     * @since 8
56761847f8eSopenharmony_ci     */
56861847f8eSopenharmony_ci    fontEdgeType: CaptionsFontEdgeType;
56961847f8eSopenharmony_ci    /**
57061847f8eSopenharmony_ci     * Indicates the background color of captions.
57161847f8eSopenharmony_ci     * @type { number | string }
57261847f8eSopenharmony_ci     * @syscap SystemCapability.BarrierFree.Accessibility.Hearing
57361847f8eSopenharmony_ci     * @since 8
57461847f8eSopenharmony_ci     */
57561847f8eSopenharmony_ci    backgroundColor: number | string;
57661847f8eSopenharmony_ci    /**
57761847f8eSopenharmony_ci     * Indicates the window color of captions.
57861847f8eSopenharmony_ci     * @type { number | string }
57961847f8eSopenharmony_ci     * @syscap SystemCapability.BarrierFree.Accessibility.Hearing
58061847f8eSopenharmony_ci     * @since 8
58161847f8eSopenharmony_ci     */
58261847f8eSopenharmony_ci    windowColor: number | string;
58361847f8eSopenharmony_ci  }
58461847f8eSopenharmony_ci
58561847f8eSopenharmony_ci  /**
58661847f8eSopenharmony_ci   * Indicates the info of accessibility.
58761847f8eSopenharmony_ci   *
58861847f8eSopenharmony_ci   * @typedef AccessibilityAbilityInfo
58961847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
59061847f8eSopenharmony_ci   * @since 7
59161847f8eSopenharmony_ci   */
59261847f8eSopenharmony_ci  interface AccessibilityAbilityInfo {
59361847f8eSopenharmony_ci    /**
59461847f8eSopenharmony_ci     * The ability id.
59561847f8eSopenharmony_ci     * @type { string }
59661847f8eSopenharmony_ci     * @readonly
59761847f8eSopenharmony_ci     * @syscap SystemCapability.BarrierFree.Accessibility.Core
59861847f8eSopenharmony_ci     * @since 7
59961847f8eSopenharmony_ci     */
60061847f8eSopenharmony_ci    readonly id: string;
60161847f8eSopenharmony_ci
60261847f8eSopenharmony_ci    /**
60361847f8eSopenharmony_ci     * The ability name.
60461847f8eSopenharmony_ci     * @type { string }
60561847f8eSopenharmony_ci     * @readonly
60661847f8eSopenharmony_ci     * @syscap SystemCapability.BarrierFree.Accessibility.Core
60761847f8eSopenharmony_ci     * @since 7
60861847f8eSopenharmony_ci     */
60961847f8eSopenharmony_ci    readonly name: string;
61061847f8eSopenharmony_ci
61161847f8eSopenharmony_ci    /**
61261847f8eSopenharmony_ci     * The bundle name of the ability.
61361847f8eSopenharmony_ci     * @type { string }
61461847f8eSopenharmony_ci     * @readonly
61561847f8eSopenharmony_ci     * @syscap SystemCapability.BarrierFree.Accessibility.Core
61661847f8eSopenharmony_ci     * @since 7
61761847f8eSopenharmony_ci     */
61861847f8eSopenharmony_ci    readonly bundleName: string;
61961847f8eSopenharmony_ci    /**
62061847f8eSopenharmony_ci     * The target bundle name for the observation.
62161847f8eSopenharmony_ci     * @type { Array<string> }
62261847f8eSopenharmony_ci     * @readonly
62361847f8eSopenharmony_ci     * @syscap SystemCapability.BarrierFree.Accessibility.Core
62461847f8eSopenharmony_ci     * @since 9
62561847f8eSopenharmony_ci     */
62661847f8eSopenharmony_ci    readonly targetBundleNames: Array<string>;
62761847f8eSopenharmony_ci
62861847f8eSopenharmony_ci    /**
62961847f8eSopenharmony_ci     * The type of the ability.
63061847f8eSopenharmony_ci     * @type { Array<AbilityType> }
63161847f8eSopenharmony_ci     * @readonly
63261847f8eSopenharmony_ci     * @syscap SystemCapability.BarrierFree.Accessibility.Core
63361847f8eSopenharmony_ci     * @since 7
63461847f8eSopenharmony_ci     */
63561847f8eSopenharmony_ci    readonly abilityTypes: Array<AbilityType>;
63661847f8eSopenharmony_ci
63761847f8eSopenharmony_ci    /**
63861847f8eSopenharmony_ci     * The capabilities of the ability.
63961847f8eSopenharmony_ci     * @type { Array<Capability> }
64061847f8eSopenharmony_ci     * @readonly
64161847f8eSopenharmony_ci     * @syscap SystemCapability.BarrierFree.Accessibility.Core
64261847f8eSopenharmony_ci     * @since 7
64361847f8eSopenharmony_ci     */
64461847f8eSopenharmony_ci    readonly capabilities: Array<Capability>;
64561847f8eSopenharmony_ci
64661847f8eSopenharmony_ci    /**
64761847f8eSopenharmony_ci     * The description of the ability.
64861847f8eSopenharmony_ci     * @type { string }
64961847f8eSopenharmony_ci     * @readonly
65061847f8eSopenharmony_ci     * @syscap SystemCapability.BarrierFree.Accessibility.Core
65161847f8eSopenharmony_ci     * @since 7
65261847f8eSopenharmony_ci     */
65361847f8eSopenharmony_ci    readonly description: string;
65461847f8eSopenharmony_ci
65561847f8eSopenharmony_ci    /**
65661847f8eSopenharmony_ci     * The events which the accessibility ability wants to observe.
65761847f8eSopenharmony_ci     * @type { Array<EventType> }
65861847f8eSopenharmony_ci     * @readonly
65961847f8eSopenharmony_ci     * @syscap SystemCapability.BarrierFree.Accessibility.Core
66061847f8eSopenharmony_ci     * @since 7
66161847f8eSopenharmony_ci     */
66261847f8eSopenharmony_ci    readonly eventTypes: Array<EventType>;
66361847f8eSopenharmony_ci
66461847f8eSopenharmony_ci    /**
66561847f8eSopenharmony_ci     * Indicates whether the extended service needs to be hidden.
66661847f8eSopenharmony_ci     * @type { boolean }
66761847f8eSopenharmony_ci     * @readonly
66861847f8eSopenharmony_ci     * @syscap SystemCapability.BarrierFree.Accessibility.Core
66961847f8eSopenharmony_ci     * @since 12
67061847f8eSopenharmony_ci     */
67161847f8eSopenharmony_ci    readonly needHide: boolean;
67261847f8eSopenharmony_ci
67361847f8eSopenharmony_ci    /**
67461847f8eSopenharmony_ci     * The label of the ability.
67561847f8eSopenharmony_ci     * @type { string }
67661847f8eSopenharmony_ci     * @readonly
67761847f8eSopenharmony_ci     * @syscap SystemCapability.BarrierFree.Accessibility.Core
67861847f8eSopenharmony_ci     * @since 12
67961847f8eSopenharmony_ci     */
68061847f8eSopenharmony_ci    readonly label: string;
68161847f8eSopenharmony_ci  }
68261847f8eSopenharmony_ci
68361847f8eSopenharmony_ci  /**
68461847f8eSopenharmony_ci   * Indicates the info of events.
68561847f8eSopenharmony_ci   *
68661847f8eSopenharmony_ci   * @syscap SystemCapability.BarrierFree.Accessibility.Core
68761847f8eSopenharmony_ci   * @since 7
68861847f8eSopenharmony_ci   */
68961847f8eSopenharmony_ci  class EventInfo {
69061847f8eSopenharmony_ci    /**
69161847f8eSopenharmony_ci     * A constructor used to create a EventInfo object.
69261847f8eSopenharmony_ci     *
69361847f8eSopenharmony_ci     * @param jsonObject - Character string in JSON format required for creating an object.
69461847f8eSopenharmony_ci     * @syscap SystemCapability.BarrierFree.Accessibility.Core
69561847f8eSopenharmony_ci     * @since 7
69661847f8eSopenharmony_ci     */
69761847f8eSopenharmony_ci    constructor(jsonObject);
69861847f8eSopenharmony_ci    /**
69961847f8eSopenharmony_ci     * A constructor used to create a EventInfo object.
70061847f8eSopenharmony_ci     *
70161847f8eSopenharmony_ci     * @param { EventType } type - The type of the accessibility event.
70261847f8eSopenharmony_ci     * @param { string } bundleName - The name of the bundle.
70361847f8eSopenharmony_ci     * @param { Action } triggerAction - The action that the ability can execute.
70461847f8eSopenharmony_ci     * @syscap SystemCapability.BarrierFree.Accessibility.Core
70561847f8eSopenharmony_ci     * @since 11
70661847f8eSopenharmony_ci     */
70761847f8eSopenharmony_ci    constructor(type: EventType, bundleName: string, triggerAction: Action);
70861847f8eSopenharmony_ci    /**
70961847f8eSopenharmony_ci     * The type of an accessibility event.
71061847f8eSopenharmony_ci     * @type { EventType }
71161847f8eSopenharmony_ci     * @syscap SystemCapability.BarrierFree.Accessibility.Core
71261847f8eSopenharmony_ci     * @since 7
71361847f8eSopenharmony_ci     */
71461847f8eSopenharmony_ci    type: EventType;
71561847f8eSopenharmony_ci
71661847f8eSopenharmony_ci    /**
71761847f8eSopenharmony_ci     * The type of the window change event.
71861847f8eSopenharmony_ci     * @type { ?WindowUpdateType }
71961847f8eSopenharmony_ci     * @syscap SystemCapability.BarrierFree.Accessibility.Core
72061847f8eSopenharmony_ci     * @since 7
72161847f8eSopenharmony_ci     */
72261847f8eSopenharmony_ci    windowUpdateType?: WindowUpdateType;
72361847f8eSopenharmony_ci
72461847f8eSopenharmony_ci    /**
72561847f8eSopenharmony_ci     * The bundle name of the target application.
72661847f8eSopenharmony_ci     * @type { string }
72761847f8eSopenharmony_ci     * @syscap SystemCapability.BarrierFree.Accessibility.Core
72861847f8eSopenharmony_ci     * @since 7
72961847f8eSopenharmony_ci     */
73061847f8eSopenharmony_ci    bundleName: string;
73161847f8eSopenharmony_ci
73261847f8eSopenharmony_ci    /**
73361847f8eSopenharmony_ci     * The type of the event source component,such as button, chart.
73461847f8eSopenharmony_ci     * @type { ?string }
73561847f8eSopenharmony_ci     * @syscap SystemCapability.BarrierFree.Accessibility.Core
73661847f8eSopenharmony_ci     * @since 7
73761847f8eSopenharmony_ci     */
73861847f8eSopenharmony_ci    componentType?: string;
73961847f8eSopenharmony_ci
74061847f8eSopenharmony_ci    /**
74161847f8eSopenharmony_ci     * The page id of the event source.
74261847f8eSopenharmony_ci     * @type { ?number }
74361847f8eSopenharmony_ci     * @syscap SystemCapability.BarrierFree.Accessibility.Core
74461847f8eSopenharmony_ci     * @since 7
74561847f8eSopenharmony_ci     */
74661847f8eSopenharmony_ci    pageId?: number;
74761847f8eSopenharmony_ci
74861847f8eSopenharmony_ci    /**
74961847f8eSopenharmony_ci     * The accessibility event description.
75061847f8eSopenharmony_ci     * @type { ?string }
75161847f8eSopenharmony_ci     * @syscap SystemCapability.BarrierFree.Accessibility.Core
75261847f8eSopenharmony_ci     * @since 7
75361847f8eSopenharmony_ci     */
75461847f8eSopenharmony_ci    description?: string;
75561847f8eSopenharmony_ci
75661847f8eSopenharmony_ci    /**
75761847f8eSopenharmony_ci     * The action that triggers the accessibility event, for example, clicking or focusing a view.
75861847f8eSopenharmony_ci     * @type { Action }
75961847f8eSopenharmony_ci     * @syscap SystemCapability.BarrierFree.Accessibility.Core
76061847f8eSopenharmony_ci     * @since 7
76161847f8eSopenharmony_ci     */
76261847f8eSopenharmony_ci    triggerAction: Action;
76361847f8eSopenharmony_ci
76461847f8eSopenharmony_ci    /**
76561847f8eSopenharmony_ci     * The movement step used for reading texts.
76661847f8eSopenharmony_ci     * @type { ?TextMoveUnit }
76761847f8eSopenharmony_ci     * @syscap SystemCapability.BarrierFree.Accessibility.Core
76861847f8eSopenharmony_ci     * @since 7
76961847f8eSopenharmony_ci     */
77061847f8eSopenharmony_ci    textMoveUnit?: TextMoveUnit;
77161847f8eSopenharmony_ci
77261847f8eSopenharmony_ci    /**
77361847f8eSopenharmony_ci     * The content list.
77461847f8eSopenharmony_ci     * @type { ?Array<string> }
77561847f8eSopenharmony_ci     * @syscap SystemCapability.BarrierFree.Accessibility.Core
77661847f8eSopenharmony_ci     * @since 7
77761847f8eSopenharmony_ci     */
77861847f8eSopenharmony_ci    contents?: Array<string>;
77961847f8eSopenharmony_ci
78061847f8eSopenharmony_ci    /**
78161847f8eSopenharmony_ci     * The content changed before.
78261847f8eSopenharmony_ci     * @type { ?string }
78361847f8eSopenharmony_ci     * @syscap SystemCapability.BarrierFree.Accessibility.Core
78461847f8eSopenharmony_ci     * @since 7
78561847f8eSopenharmony_ci     */
78661847f8eSopenharmony_ci    lastContent?: string;
78761847f8eSopenharmony_ci
78861847f8eSopenharmony_ci    /**
78961847f8eSopenharmony_ci     * The start index of listed items on the screen.
79061847f8eSopenharmony_ci     * @type { ?number }
79161847f8eSopenharmony_ci     * @syscap SystemCapability.BarrierFree.Accessibility.Core
79261847f8eSopenharmony_ci     * @since 7
79361847f8eSopenharmony_ci     */
79461847f8eSopenharmony_ci    beginIndex?: number;
79561847f8eSopenharmony_ci
79661847f8eSopenharmony_ci    /**
79761847f8eSopenharmony_ci     * The index of the current item on the screen.
79861847f8eSopenharmony_ci     * @type { ?number }
79961847f8eSopenharmony_ci     * @syscap SystemCapability.BarrierFree.Accessibility.Core
80061847f8eSopenharmony_ci     * @since 7
80161847f8eSopenharmony_ci     */
80261847f8eSopenharmony_ci    currentIndex?: number;
80361847f8eSopenharmony_ci
80461847f8eSopenharmony_ci    /**
80561847f8eSopenharmony_ci     * The end index of listed items on the screen.
80661847f8eSopenharmony_ci     * @type { ?number }
80761847f8eSopenharmony_ci     * @syscap SystemCapability.BarrierFree.Accessibility.Core
80861847f8eSopenharmony_ci     * @since 7
80961847f8eSopenharmony_ci     */
81061847f8eSopenharmony_ci    endIndex?: number;
81161847f8eSopenharmony_ci
81261847f8eSopenharmony_ci    /**
81361847f8eSopenharmony_ci     * The total of the items, talkback used it when scroll.
81461847f8eSopenharmony_ci     * @type { ?number }
81561847f8eSopenharmony_ci     * @syscap SystemCapability.BarrierFree.Accessibility.Core
81661847f8eSopenharmony_ci     * @since 7
81761847f8eSopenharmony_ci     */
81861847f8eSopenharmony_ci    itemCount?: number;
81961847f8eSopenharmony_ci
82061847f8eSopenharmony_ci    /**
82161847f8eSopenharmony_ci     * The id of element.
82261847f8eSopenharmony_ci     * @type { ?number }
82361847f8eSopenharmony_ci     * @syscap SystemCapability.BarrierFree.Accessibility.Core
82461847f8eSopenharmony_ci     * @since 12
82561847f8eSopenharmony_ci     */
82661847f8eSopenharmony_ci    elementId?: number;
82761847f8eSopenharmony_ci
82861847f8eSopenharmony_ci    /**
82961847f8eSopenharmony_ci     * The content of announce accessibility text.
83061847f8eSopenharmony_ci     * @type { ?string }
83161847f8eSopenharmony_ci     * @syscap SystemCapability.BarrierFree.Accessibility.Core
83261847f8eSopenharmony_ci     * @since 12
83361847f8eSopenharmony_ci     */
83461847f8eSopenharmony_ci    textAnnouncedForAccessibility?: string;
83561847f8eSopenharmony_ci
83661847f8eSopenharmony_ci    /**
83761847f8eSopenharmony_ci     * The customized element id.
83861847f8eSopenharmony_ci     * @type { ?string }
83961847f8eSopenharmony_ci     * @syscap SystemCapability.BarrierFree.Accessibility.Core
84061847f8eSopenharmony_ci     * @since 12
84161847f8eSopenharmony_ci     */
84261847f8eSopenharmony_ci    customId?: string;
84361847f8eSopenharmony_ci  }
84461847f8eSopenharmony_ci}
84561847f8eSopenharmony_ciexport default accessibility;
846