161847f8eSopenharmony_ci/*
261847f8eSopenharmony_ci * Copyright (c) 2021-2023 Huawei Device Co., Ltd.
361847f8eSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
461847f8eSopenharmony_ci * you may not use this file except in compliance with the License.
561847f8eSopenharmony_ci * You may obtain a copy of the License at
661847f8eSopenharmony_ci *
761847f8eSopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
861847f8eSopenharmony_ci *
961847f8eSopenharmony_ci * Unless required by applicable law or agreed to in writing, software
1061847f8eSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
1161847f8eSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1261847f8eSopenharmony_ci * See the License for the specific language governing permissions and
1361847f8eSopenharmony_ci * limitations under the License.
1461847f8eSopenharmony_ci */
1561847f8eSopenharmony_ci
1661847f8eSopenharmony_ci/**
1761847f8eSopenharmony_ci * @file
1861847f8eSopenharmony_ci * @kit ArkUI
1961847f8eSopenharmony_ci */
2061847f8eSopenharmony_ci
2161847f8eSopenharmony_ci/**
2261847f8eSopenharmony_ci * Defines type to operation data source.
2361847f8eSopenharmony_ci *
2461847f8eSopenharmony_ci * @enum { string }
2561847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
2661847f8eSopenharmony_ci * @crossplatform
2761847f8eSopenharmony_ci * @atomicservice
2861847f8eSopenharmony_ci * @since 12
2961847f8eSopenharmony_ci */
3061847f8eSopenharmony_cideclare enum DataOperationType {
3161847f8eSopenharmony_ci  /**
3261847f8eSopenharmony_ci   * Add data.
3361847f8eSopenharmony_ci   *
3461847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
3561847f8eSopenharmony_ci   * @crossplatform
3661847f8eSopenharmony_ci   * @atomicservice
3761847f8eSopenharmony_ci   * @since 12
3861847f8eSopenharmony_ci   */
3961847f8eSopenharmony_ci  ADD = 'add',
4061847f8eSopenharmony_ci
4161847f8eSopenharmony_ci  /**
4261847f8eSopenharmony_ci   * Delete data.
4361847f8eSopenharmony_ci   *
4461847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
4561847f8eSopenharmony_ci   * @crossplatform
4661847f8eSopenharmony_ci   * @atomicservice
4761847f8eSopenharmony_ci   * @since 12
4861847f8eSopenharmony_ci   */
4961847f8eSopenharmony_ci  DELETE = 'delete',
5061847f8eSopenharmony_ci
5161847f8eSopenharmony_ci  /**
5261847f8eSopenharmony_ci   * Exchange data.
5361847f8eSopenharmony_ci   *
5461847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
5561847f8eSopenharmony_ci   * @crossplatform
5661847f8eSopenharmony_ci   * @atomicservice
5761847f8eSopenharmony_ci   * @since 12
5861847f8eSopenharmony_ci   */
5961847f8eSopenharmony_ci  EXCHANGE = 'exchange',
6061847f8eSopenharmony_ci
6161847f8eSopenharmony_ci  /**
6261847f8eSopenharmony_ci   * Move data.
6361847f8eSopenharmony_ci   *
6461847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
6561847f8eSopenharmony_ci   * @crossplatform
6661847f8eSopenharmony_ci   * @atomicservice
6761847f8eSopenharmony_ci   * @since 12
6861847f8eSopenharmony_ci   */
6961847f8eSopenharmony_ci  MOVE = 'move',
7061847f8eSopenharmony_ci
7161847f8eSopenharmony_ci  /**
7261847f8eSopenharmony_ci   * Change data.
7361847f8eSopenharmony_ci   *
7461847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
7561847f8eSopenharmony_ci   * @crossplatform
7661847f8eSopenharmony_ci   * @atomicservice
7761847f8eSopenharmony_ci   * @since 12
7861847f8eSopenharmony_ci   */
7961847f8eSopenharmony_ci  CHANGE = 'change',
8061847f8eSopenharmony_ci
8161847f8eSopenharmony_ci  /**
8261847f8eSopenharmony_ci   * Reload data.
8361847f8eSopenharmony_ci   *
8461847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
8561847f8eSopenharmony_ci   * @crossplatform
8661847f8eSopenharmony_ci   * @atomicservice
8761847f8eSopenharmony_ci   * @since 12
8861847f8eSopenharmony_ci   */
8961847f8eSopenharmony_ci  RELOAD = 'reload'
9061847f8eSopenharmony_ci}
9161847f8eSopenharmony_ci
9261847f8eSopenharmony_ci/**
9361847f8eSopenharmony_ci * Defines add operation.
9461847f8eSopenharmony_ci *
9561847f8eSopenharmony_ci * @interface DataAddOperation
9661847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
9761847f8eSopenharmony_ci * @crossplatform
9861847f8eSopenharmony_ci * @atomicservice
9961847f8eSopenharmony_ci * @since 12
10061847f8eSopenharmony_ci */
10161847f8eSopenharmony_ciinterface DataAddOperation {
10261847f8eSopenharmony_ci  /**
10361847f8eSopenharmony_ci   * How to operate added data.
10461847f8eSopenharmony_ci   *
10561847f8eSopenharmony_ci   * @type { DataOperationType.ADD }
10661847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
10761847f8eSopenharmony_ci   * @crossplatform
10861847f8eSopenharmony_ci   * @atomicservice
10961847f8eSopenharmony_ci   * @since 12
11061847f8eSopenharmony_ci   */
11161847f8eSopenharmony_ci  type: DataOperationType.ADD,
11261847f8eSopenharmony_ci
11361847f8eSopenharmony_ci  /**
11461847f8eSopenharmony_ci   * Index of added data.
11561847f8eSopenharmony_ci   *
11661847f8eSopenharmony_ci   * @type { number }
11761847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
11861847f8eSopenharmony_ci   * @crossplatform
11961847f8eSopenharmony_ci   * @atomicservice
12061847f8eSopenharmony_ci   * @since 12
12161847f8eSopenharmony_ci   */
12261847f8eSopenharmony_ci  index: number,
12361847f8eSopenharmony_ci
12461847f8eSopenharmony_ci  /**
12561847f8eSopenharmony_ci   * Count of added data in one operation
12661847f8eSopenharmony_ci   * Only validate for ADD and DELETE.
12761847f8eSopenharmony_ci   *
12861847f8eSopenharmony_ci   * @type { ?number }
12961847f8eSopenharmony_ci   * @default 1
13061847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
13161847f8eSopenharmony_ci   * @crossplatform
13261847f8eSopenharmony_ci   * @atomicservice
13361847f8eSopenharmony_ci   * @since 12
13461847f8eSopenharmony_ci   */
13561847f8eSopenharmony_ci  count?: number,
13661847f8eSopenharmony_ci
13761847f8eSopenharmony_ci  /**
13861847f8eSopenharmony_ci   * Key of added data.
13961847f8eSopenharmony_ci   *
14061847f8eSopenharmony_ci   * @type { ?(string | Array<string>) }
14161847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
14261847f8eSopenharmony_ci   * @crossplatform
14361847f8eSopenharmony_ci   * @atomicservice
14461847f8eSopenharmony_ci   * @since 12
14561847f8eSopenharmony_ci   */
14661847f8eSopenharmony_ci  key?: string | Array<string>
14761847f8eSopenharmony_ci}
14861847f8eSopenharmony_ci
14961847f8eSopenharmony_ci/**
15061847f8eSopenharmony_ci * Defines delete operation.
15161847f8eSopenharmony_ci *
15261847f8eSopenharmony_ci * @interface DataDeleteOperation
15361847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
15461847f8eSopenharmony_ci * @crossplatform
15561847f8eSopenharmony_ci * @atomicservice
15661847f8eSopenharmony_ci * @since 12
15761847f8eSopenharmony_ci */
15861847f8eSopenharmony_ciinterface DataDeleteOperation {
15961847f8eSopenharmony_ci  /**
16061847f8eSopenharmony_ci   * How to operate deleted data.
16161847f8eSopenharmony_ci   *
16261847f8eSopenharmony_ci   * @type { DataOperationType.DELETE }
16361847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
16461847f8eSopenharmony_ci   * @crossplatform
16561847f8eSopenharmony_ci   * @atomicservice
16661847f8eSopenharmony_ci   * @since 12
16761847f8eSopenharmony_ci   */
16861847f8eSopenharmony_ci  type: DataOperationType.DELETE,
16961847f8eSopenharmony_ci
17061847f8eSopenharmony_ci  /**
17161847f8eSopenharmony_ci   * Index of deleted data.
17261847f8eSopenharmony_ci   *
17361847f8eSopenharmony_ci   * @type { number }
17461847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
17561847f8eSopenharmony_ci   * @crossplatform
17661847f8eSopenharmony_ci   * @atomicservice
17761847f8eSopenharmony_ci   * @since 12
17861847f8eSopenharmony_ci   */
17961847f8eSopenharmony_ci  index: number,
18061847f8eSopenharmony_ci
18161847f8eSopenharmony_ci  /**
18261847f8eSopenharmony_ci   * Count of deleted data in one operation
18361847f8eSopenharmony_ci   * Only validate for ADD and DELETE.
18461847f8eSopenharmony_ci   *
18561847f8eSopenharmony_ci   * @type { ?number }
18661847f8eSopenharmony_ci   * @default 1
18761847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
18861847f8eSopenharmony_ci   * @crossplatform
18961847f8eSopenharmony_ci   * @atomicservice
19061847f8eSopenharmony_ci   * @since 12
19161847f8eSopenharmony_ci   */
19261847f8eSopenharmony_ci  count?: number
19361847f8eSopenharmony_ci}
19461847f8eSopenharmony_ci
19561847f8eSopenharmony_ci/**
19661847f8eSopenharmony_ci * Defines change operation.
19761847f8eSopenharmony_ci *
19861847f8eSopenharmony_ci * @interface DataChangeOperation
19961847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
20061847f8eSopenharmony_ci * @crossplatform
20161847f8eSopenharmony_ci * @atomicservice
20261847f8eSopenharmony_ci * @since 12
20361847f8eSopenharmony_ci */
20461847f8eSopenharmony_ciinterface DataChangeOperation {
20561847f8eSopenharmony_ci  /**
20661847f8eSopenharmony_ci   * How to operate changed data.
20761847f8eSopenharmony_ci   *
20861847f8eSopenharmony_ci   * @type { DataOperationType.CHANGE }
20961847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
21061847f8eSopenharmony_ci   * @crossplatform
21161847f8eSopenharmony_ci   * @atomicservice
21261847f8eSopenharmony_ci   * @since 12
21361847f8eSopenharmony_ci   */
21461847f8eSopenharmony_ci  type: DataOperationType.CHANGE,
21561847f8eSopenharmony_ci
21661847f8eSopenharmony_ci  /**
21761847f8eSopenharmony_ci   * Index of changed data.
21861847f8eSopenharmony_ci   *
21961847f8eSopenharmony_ci   * @type { number }
22061847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
22161847f8eSopenharmony_ci   * @crossplatform
22261847f8eSopenharmony_ci   * @atomicservice
22361847f8eSopenharmony_ci   * @since 12
22461847f8eSopenharmony_ci   */
22561847f8eSopenharmony_ci  index: number,
22661847f8eSopenharmony_ci
22761847f8eSopenharmony_ci  /**
22861847f8eSopenharmony_ci   * Key of changed data.
22961847f8eSopenharmony_ci   *
23061847f8eSopenharmony_ci   * @type { ?string }
23161847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
23261847f8eSopenharmony_ci   * @crossplatform
23361847f8eSopenharmony_ci   * @atomicservice
23461847f8eSopenharmony_ci   * @since 12
23561847f8eSopenharmony_ci   */
23661847f8eSopenharmony_ci  key?: string
23761847f8eSopenharmony_ci}
23861847f8eSopenharmony_ci
23961847f8eSopenharmony_ci/**
24061847f8eSopenharmony_ci * Defines position of moved data.
24161847f8eSopenharmony_ci *
24261847f8eSopenharmony_ci * @interface MoveIndex
24361847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
24461847f8eSopenharmony_ci * @crossplatform
24561847f8eSopenharmony_ci * @atomicservice
24661847f8eSopenharmony_ci * @since 12
24761847f8eSopenharmony_ci */
24861847f8eSopenharmony_ciinterface MoveIndex {
24961847f8eSopenharmony_ci  /**
25061847f8eSopenharmony_ci   * Index of moved data.
25161847f8eSopenharmony_ci   *
25261847f8eSopenharmony_ci   * @type { number }
25361847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
25461847f8eSopenharmony_ci   * @crossplatform
25561847f8eSopenharmony_ci   * @atomicservice
25661847f8eSopenharmony_ci   * @since 12
25761847f8eSopenharmony_ci   */
25861847f8eSopenharmony_ci  from: number;
25961847f8eSopenharmony_ci  /**
26061847f8eSopenharmony_ci   * Destination of moved data.
26161847f8eSopenharmony_ci   *
26261847f8eSopenharmony_ci   * @type { number }
26361847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
26461847f8eSopenharmony_ci   * @crossplatform
26561847f8eSopenharmony_ci   * @atomicservice
26661847f8eSopenharmony_ci   * @since 12
26761847f8eSopenharmony_ci   */
26861847f8eSopenharmony_ci  to: number;
26961847f8eSopenharmony_ci}
27061847f8eSopenharmony_ci
27161847f8eSopenharmony_ci/**
27261847f8eSopenharmony_ci * Defines position of exchange data.
27361847f8eSopenharmony_ci *
27461847f8eSopenharmony_ci * @interface ExchangeIndex
27561847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
27661847f8eSopenharmony_ci * @crossplatform
27761847f8eSopenharmony_ci * @atomicservice
27861847f8eSopenharmony_ci * @since 12
27961847f8eSopenharmony_ci */
28061847f8eSopenharmony_ciinterface ExchangeIndex {
28161847f8eSopenharmony_ci  /**
28261847f8eSopenharmony_ci   * Index of the first exchange data.
28361847f8eSopenharmony_ci   *
28461847f8eSopenharmony_ci   * @type { number }
28561847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
28661847f8eSopenharmony_ci   * @crossplatform
28761847f8eSopenharmony_ci   * @atomicservice
28861847f8eSopenharmony_ci   * @since 12
28961847f8eSopenharmony_ci   */
29061847f8eSopenharmony_ci  start: number;
29161847f8eSopenharmony_ci  /**
29261847f8eSopenharmony_ci   * Index of the second exchange data.
29361847f8eSopenharmony_ci   *
29461847f8eSopenharmony_ci   * @type { number }
29561847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
29661847f8eSopenharmony_ci   * @crossplatform
29761847f8eSopenharmony_ci   * @atomicservice
29861847f8eSopenharmony_ci   * @since 12
29961847f8eSopenharmony_ci   */
30061847f8eSopenharmony_ci  end: number;
30161847f8eSopenharmony_ci}
30261847f8eSopenharmony_ci
30361847f8eSopenharmony_ci/**
30461847f8eSopenharmony_ci * Defines new key of exchange data.
30561847f8eSopenharmony_ci *
30661847f8eSopenharmony_ci * @interface ExchangeKey
30761847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
30861847f8eSopenharmony_ci * @crossplatform
30961847f8eSopenharmony_ci * @atomicservice
31061847f8eSopenharmony_ci * @since 12
31161847f8eSopenharmony_ci */
31261847f8eSopenharmony_ciinterface ExchangeKey {
31361847f8eSopenharmony_ci  /**
31461847f8eSopenharmony_ci   * Key of the first exchange data.
31561847f8eSopenharmony_ci   *
31661847f8eSopenharmony_ci   * @type { string }
31761847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
31861847f8eSopenharmony_ci   * @crossplatform
31961847f8eSopenharmony_ci   * @atomicservice
32061847f8eSopenharmony_ci   * @since 12
32161847f8eSopenharmony_ci   */
32261847f8eSopenharmony_ci  start: string;
32361847f8eSopenharmony_ci  /**
32461847f8eSopenharmony_ci   * Key of the second exchange data.
32561847f8eSopenharmony_ci   *
32661847f8eSopenharmony_ci   * @type { string }
32761847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
32861847f8eSopenharmony_ci   * @crossplatform
32961847f8eSopenharmony_ci   * @atomicservice
33061847f8eSopenharmony_ci   * @since 12
33161847f8eSopenharmony_ci   */
33261847f8eSopenharmony_ci  end: string;
33361847f8eSopenharmony_ci}
33461847f8eSopenharmony_ci
33561847f8eSopenharmony_ci/**
33661847f8eSopenharmony_ci * Defines move&exchange operation.
33761847f8eSopenharmony_ci *
33861847f8eSopenharmony_ci * @interface DataMoveOperation
33961847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
34061847f8eSopenharmony_ci * @crossplatform
34161847f8eSopenharmony_ci * @atomicservice
34261847f8eSopenharmony_ci * @since 12
34361847f8eSopenharmony_ci */
34461847f8eSopenharmony_ciinterface DataMoveOperation {
34561847f8eSopenharmony_ci  /**
34661847f8eSopenharmony_ci   * How to operate moved data.
34761847f8eSopenharmony_ci   *
34861847f8eSopenharmony_ci   * @type { DataOperationType.MOVE }
34961847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
35061847f8eSopenharmony_ci   * @crossplatform
35161847f8eSopenharmony_ci   * @atomicservice
35261847f8eSopenharmony_ci   * @since 12
35361847f8eSopenharmony_ci   */
35461847f8eSopenharmony_ci  type: DataOperationType.MOVE,
35561847f8eSopenharmony_ci
35661847f8eSopenharmony_ci  /**
35761847f8eSopenharmony_ci   * Index of moved data.
35861847f8eSopenharmony_ci   *
35961847f8eSopenharmony_ci   * @type { MoveIndex }
36061847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
36161847f8eSopenharmony_ci   * @crossplatform
36261847f8eSopenharmony_ci   * @atomicservice
36361847f8eSopenharmony_ci   * @since 12
36461847f8eSopenharmony_ci   */
36561847f8eSopenharmony_ci  index: MoveIndex,
36661847f8eSopenharmony_ci
36761847f8eSopenharmony_ci  /**
36861847f8eSopenharmony_ci   * Key of moved data.
36961847f8eSopenharmony_ci   *
37061847f8eSopenharmony_ci   * @type { ?string }
37161847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
37261847f8eSopenharmony_ci   * @crossplatform
37361847f8eSopenharmony_ci   * @atomicservice
37461847f8eSopenharmony_ci   * @since 12
37561847f8eSopenharmony_ci   */
37661847f8eSopenharmony_ci  key?: string
37761847f8eSopenharmony_ci}
37861847f8eSopenharmony_ci
37961847f8eSopenharmony_ci/**
38061847f8eSopenharmony_ci * Defines exchange operation.
38161847f8eSopenharmony_ci *
38261847f8eSopenharmony_ci * @interface DataExchangeOperation
38361847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
38461847f8eSopenharmony_ci * @crossplatform
38561847f8eSopenharmony_ci * @atomicservice
38661847f8eSopenharmony_ci * @since 12
38761847f8eSopenharmony_ci */
38861847f8eSopenharmony_ci interface DataExchangeOperation {
38961847f8eSopenharmony_ci  /**
39061847f8eSopenharmony_ci   * How to operate exchange data.
39161847f8eSopenharmony_ci   *
39261847f8eSopenharmony_ci   * @type { DataOperationType.EXCHANGE }
39361847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
39461847f8eSopenharmony_ci   * @crossplatform
39561847f8eSopenharmony_ci   * @atomicservice
39661847f8eSopenharmony_ci   * @since 12
39761847f8eSopenharmony_ci   */
39861847f8eSopenharmony_ci  type: DataOperationType.EXCHANGE,
39961847f8eSopenharmony_ci
40061847f8eSopenharmony_ci  /**
40161847f8eSopenharmony_ci   * Index of exchange data.
40261847f8eSopenharmony_ci   *
40361847f8eSopenharmony_ci   * @type { ExchangeIndex }
40461847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
40561847f8eSopenharmony_ci   * @crossplatform
40661847f8eSopenharmony_ci   * @atomicservice
40761847f8eSopenharmony_ci   * @since 12
40861847f8eSopenharmony_ci   */
40961847f8eSopenharmony_ci  index: ExchangeIndex,
41061847f8eSopenharmony_ci
41161847f8eSopenharmony_ci  /**
41261847f8eSopenharmony_ci   * Key of exchange data.
41361847f8eSopenharmony_ci   *
41461847f8eSopenharmony_ci   * @type { ?ExchangeKey }
41561847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
41661847f8eSopenharmony_ci   * @crossplatform
41761847f8eSopenharmony_ci   * @atomicservice
41861847f8eSopenharmony_ci   * @since 12
41961847f8eSopenharmony_ci   */
42061847f8eSopenharmony_ci  key?: ExchangeKey
42161847f8eSopenharmony_ci}
42261847f8eSopenharmony_ci
42361847f8eSopenharmony_ci/**
42461847f8eSopenharmony_ci * Defines reload operation.
42561847f8eSopenharmony_ci *
42661847f8eSopenharmony_ci * @interface DataReloadOperation
42761847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
42861847f8eSopenharmony_ci * @crossplatform
42961847f8eSopenharmony_ci * @atomicservice
43061847f8eSopenharmony_ci * @since 12
43161847f8eSopenharmony_ci */
43261847f8eSopenharmony_ciinterface DataReloadOperation {
43361847f8eSopenharmony_ci  /**
43461847f8eSopenharmony_ci   * How to operate reload data.
43561847f8eSopenharmony_ci   *
43661847f8eSopenharmony_ci   * @type { DataOperationType.RELOAD }
43761847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
43861847f8eSopenharmony_ci   * @crossplatform
43961847f8eSopenharmony_ci   * @atomicservice
44061847f8eSopenharmony_ci   * @since 12
44161847f8eSopenharmony_ci   */
44261847f8eSopenharmony_ci  type: DataOperationType.RELOAD
44361847f8eSopenharmony_ci}
44461847f8eSopenharmony_ci
44561847f8eSopenharmony_ci/**
44661847f8eSopenharmony_ci * All data operation type
44761847f8eSopenharmony_ci *
44861847f8eSopenharmony_ci * @typedef { DataAddOperation | DataDeleteOperation | DataChangeOperation |DataMoveOperation | DataExchangeOperation | DataReloadOperation }
44961847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
45061847f8eSopenharmony_ci * @crossplatform
45161847f8eSopenharmony_ci * @atomicservice
45261847f8eSopenharmony_ci * @since 12
45361847f8eSopenharmony_ci */
45461847f8eSopenharmony_cideclare type DataOperation =
45561847f8eSopenharmony_ci  DataAddOperation | DataDeleteOperation | DataChangeOperation | DataMoveOperation | DataExchangeOperation | DataReloadOperation
45661847f8eSopenharmony_ci
45761847f8eSopenharmony_ci/**
45861847f8eSopenharmony_ci * Data Change Listener.
45961847f8eSopenharmony_ci *
46061847f8eSopenharmony_ci * @interface DataChangeListener
46161847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
46261847f8eSopenharmony_ci * @since 7
46361847f8eSopenharmony_ci */
46461847f8eSopenharmony_ci/**
46561847f8eSopenharmony_ci * Data Change Listener.
46661847f8eSopenharmony_ci *
46761847f8eSopenharmony_ci * @interface DataChangeListener
46861847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
46961847f8eSopenharmony_ci * @crossplatform
47061847f8eSopenharmony_ci * @since 10
47161847f8eSopenharmony_ci */
47261847f8eSopenharmony_ci/**
47361847f8eSopenharmony_ci * Data Change Listener.
47461847f8eSopenharmony_ci *
47561847f8eSopenharmony_ci * @interface DataChangeListener
47661847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
47761847f8eSopenharmony_ci * @crossplatform
47861847f8eSopenharmony_ci * @atomicservice
47961847f8eSopenharmony_ci * @since 11
48061847f8eSopenharmony_ci */
48161847f8eSopenharmony_cideclare interface DataChangeListener {
48261847f8eSopenharmony_ci  /**
48361847f8eSopenharmony_ci   * Data ready.
48461847f8eSopenharmony_ci   *
48561847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
48661847f8eSopenharmony_ci   * @since 7
48761847f8eSopenharmony_ci   */
48861847f8eSopenharmony_ci  /**
48961847f8eSopenharmony_ci   * Data ready.
49061847f8eSopenharmony_ci   *
49161847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
49261847f8eSopenharmony_ci   * @crossplatform
49361847f8eSopenharmony_ci   * @since 10
49461847f8eSopenharmony_ci   */
49561847f8eSopenharmony_ci  /**
49661847f8eSopenharmony_ci   * Data ready.
49761847f8eSopenharmony_ci   *
49861847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
49961847f8eSopenharmony_ci   * @crossplatform
50061847f8eSopenharmony_ci   * @atomicservice
50161847f8eSopenharmony_ci   * @since 11
50261847f8eSopenharmony_ci   */
50361847f8eSopenharmony_ci  onDataReloaded(): void;
50461847f8eSopenharmony_ci
50561847f8eSopenharmony_ci  /**
50661847f8eSopenharmony_ci   * Data added.
50761847f8eSopenharmony_ci   *
50861847f8eSopenharmony_ci   * @param { number } index
50961847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
51061847f8eSopenharmony_ci   * @since 7
51161847f8eSopenharmony_ci   * @deprecated since 8
51261847f8eSopenharmony_ci   * @useinstead onDataAdd
51361847f8eSopenharmony_ci   */
51461847f8eSopenharmony_ci  onDataAdded(index: number): void;
51561847f8eSopenharmony_ci
51661847f8eSopenharmony_ci  /**
51761847f8eSopenharmony_ci   * Data added.
51861847f8eSopenharmony_ci   *
51961847f8eSopenharmony_ci   * @param { number } index
52061847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
52161847f8eSopenharmony_ci   * @since 8
52261847f8eSopenharmony_ci   */
52361847f8eSopenharmony_ci  /**
52461847f8eSopenharmony_ci   * Data added.
52561847f8eSopenharmony_ci   *
52661847f8eSopenharmony_ci   * @param { number } index
52761847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
52861847f8eSopenharmony_ci   * @crossplatform
52961847f8eSopenharmony_ci   * @since 10
53061847f8eSopenharmony_ci   */
53161847f8eSopenharmony_ci  /**
53261847f8eSopenharmony_ci   * Data added.
53361847f8eSopenharmony_ci   *
53461847f8eSopenharmony_ci   * @param { number } index
53561847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
53661847f8eSopenharmony_ci   * @crossplatform
53761847f8eSopenharmony_ci   * @atomicservice
53861847f8eSopenharmony_ci   * @since 11
53961847f8eSopenharmony_ci   */
54061847f8eSopenharmony_ci  onDataAdd(index: number): void;
54161847f8eSopenharmony_ci
54261847f8eSopenharmony_ci  /**
54361847f8eSopenharmony_ci   * Data moved.
54461847f8eSopenharmony_ci   *
54561847f8eSopenharmony_ci   * @param { number } from
54661847f8eSopenharmony_ci   * @param { number } to
54761847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
54861847f8eSopenharmony_ci   * @since 7
54961847f8eSopenharmony_ci   * @deprecated since 8
55061847f8eSopenharmony_ci   * @useinstead onDataMove
55161847f8eSopenharmony_ci   */
55261847f8eSopenharmony_ci  onDataMoved(from: number, to: number): void;
55361847f8eSopenharmony_ci
55461847f8eSopenharmony_ci  /**
55561847f8eSopenharmony_ci   * Data moved.
55661847f8eSopenharmony_ci   *
55761847f8eSopenharmony_ci   * @param { number } from
55861847f8eSopenharmony_ci   * @param { number } to
55961847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
56061847f8eSopenharmony_ci   * @since 8
56161847f8eSopenharmony_ci   */
56261847f8eSopenharmony_ci  /**
56361847f8eSopenharmony_ci   * Data moved.
56461847f8eSopenharmony_ci   *
56561847f8eSopenharmony_ci   * @param { number } from
56661847f8eSopenharmony_ci   * @param { number } to
56761847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
56861847f8eSopenharmony_ci   * @crossplatform
56961847f8eSopenharmony_ci   * @since 10
57061847f8eSopenharmony_ci   */
57161847f8eSopenharmony_ci  /**
57261847f8eSopenharmony_ci   * Data moved.
57361847f8eSopenharmony_ci   *
57461847f8eSopenharmony_ci   * @param { number } from
57561847f8eSopenharmony_ci   * @param { number } to
57661847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
57761847f8eSopenharmony_ci   * @crossplatform
57861847f8eSopenharmony_ci   * @atomicservice
57961847f8eSopenharmony_ci   * @since 11
58061847f8eSopenharmony_ci   */
58161847f8eSopenharmony_ci  onDataMove(from: number, to: number): void;
58261847f8eSopenharmony_ci
58361847f8eSopenharmony_ci  /**
58461847f8eSopenharmony_ci   * Data deleted.
58561847f8eSopenharmony_ci   *
58661847f8eSopenharmony_ci   * @param { number } index
58761847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
58861847f8eSopenharmony_ci   * @since 7
58961847f8eSopenharmony_ci   * @deprecated since 8
59061847f8eSopenharmony_ci   * @useinstead onDataDelete
59161847f8eSopenharmony_ci   */
59261847f8eSopenharmony_ci  onDataDeleted(index: number): void;
59361847f8eSopenharmony_ci
59461847f8eSopenharmony_ci  /**
59561847f8eSopenharmony_ci   * Data deleted.
59661847f8eSopenharmony_ci   *
59761847f8eSopenharmony_ci   * @param { number } index
59861847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
59961847f8eSopenharmony_ci   * @since 8
60061847f8eSopenharmony_ci   */
60161847f8eSopenharmony_ci  /**
60261847f8eSopenharmony_ci   * Data deleted.
60361847f8eSopenharmony_ci   *
60461847f8eSopenharmony_ci   * @param { number } index
60561847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
60661847f8eSopenharmony_ci   * @crossplatform
60761847f8eSopenharmony_ci   * @since 10
60861847f8eSopenharmony_ci   */
60961847f8eSopenharmony_ci  /**
61061847f8eSopenharmony_ci   * Data deleted.
61161847f8eSopenharmony_ci   *
61261847f8eSopenharmony_ci   * @param { number } index
61361847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
61461847f8eSopenharmony_ci   * @crossplatform
61561847f8eSopenharmony_ci   * @atomicservice
61661847f8eSopenharmony_ci   * @since 11
61761847f8eSopenharmony_ci   */
61861847f8eSopenharmony_ci  onDataDelete(index: number): void;
61961847f8eSopenharmony_ci
62061847f8eSopenharmony_ci  /**
62161847f8eSopenharmony_ci   * Call when has data change.
62261847f8eSopenharmony_ci   *
62361847f8eSopenharmony_ci   * @param { number } index
62461847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
62561847f8eSopenharmony_ci   * @since 7
62661847f8eSopenharmony_ci   * @deprecated since 8
62761847f8eSopenharmony_ci   * @useinstead onDataChange
62861847f8eSopenharmony_ci   */
62961847f8eSopenharmony_ci  onDataChanged(index: number): void;
63061847f8eSopenharmony_ci
63161847f8eSopenharmony_ci  /**
63261847f8eSopenharmony_ci   * Call when has data change.
63361847f8eSopenharmony_ci   *
63461847f8eSopenharmony_ci   * @param { number } index
63561847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
63661847f8eSopenharmony_ci   * @since 8
63761847f8eSopenharmony_ci   */
63861847f8eSopenharmony_ci  /**
63961847f8eSopenharmony_ci   * Call when has data change.
64061847f8eSopenharmony_ci   *
64161847f8eSopenharmony_ci   * @param { number } index
64261847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
64361847f8eSopenharmony_ci   * @crossplatform
64461847f8eSopenharmony_ci   * @since 10
64561847f8eSopenharmony_ci   */
64661847f8eSopenharmony_ci  /**
64761847f8eSopenharmony_ci   * Call when has data change.
64861847f8eSopenharmony_ci   *
64961847f8eSopenharmony_ci   * @param { number } index
65061847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
65161847f8eSopenharmony_ci   * @crossplatform
65261847f8eSopenharmony_ci   * @atomicservice
65361847f8eSopenharmony_ci   * @since 11
65461847f8eSopenharmony_ci   */
65561847f8eSopenharmony_ci  onDataChange(index: number): void;
65661847f8eSopenharmony_ci
65761847f8eSopenharmony_ci  /**
65861847f8eSopenharmony_ci   * Call when multiple data change.
65961847f8eSopenharmony_ci   *
66061847f8eSopenharmony_ci   * @param { DataOperation[] } dataOperations
66161847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
66261847f8eSopenharmony_ci   * @crossplatform
66361847f8eSopenharmony_ci   * @atomicservice
66461847f8eSopenharmony_ci   * @since 12
66561847f8eSopenharmony_ci   */
66661847f8eSopenharmony_ci  onDatasetChange(dataOperations: DataOperation[]): void;
66761847f8eSopenharmony_ci}
66861847f8eSopenharmony_ci
66961847f8eSopenharmony_ci/**
67061847f8eSopenharmony_ci * Developers need to implement this interface to provide data to LazyForEach component.
67161847f8eSopenharmony_ci *
67261847f8eSopenharmony_ci * @interface IDataSource
67361847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
67461847f8eSopenharmony_ci * @since 7
67561847f8eSopenharmony_ci */
67661847f8eSopenharmony_ci/**
67761847f8eSopenharmony_ci * Developers need to implement this interface to provide data to LazyForEach component.
67861847f8eSopenharmony_ci *
67961847f8eSopenharmony_ci * @interface IDataSource
68061847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
68161847f8eSopenharmony_ci * @crossplatform
68261847f8eSopenharmony_ci * @since 10
68361847f8eSopenharmony_ci */
68461847f8eSopenharmony_ci/**
68561847f8eSopenharmony_ci * Developers need to implement this interface to provide data to LazyForEach component.
68661847f8eSopenharmony_ci *
68761847f8eSopenharmony_ci * @interface IDataSource
68861847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
68961847f8eSopenharmony_ci * @crossplatform
69061847f8eSopenharmony_ci * @atomicservice
69161847f8eSopenharmony_ci * @since 11
69261847f8eSopenharmony_ci */
69361847f8eSopenharmony_cideclare interface IDataSource {
69461847f8eSopenharmony_ci  /**
69561847f8eSopenharmony_ci   * Total data count.
69661847f8eSopenharmony_ci   *
69761847f8eSopenharmony_ci   * @returns { number }
69861847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
69961847f8eSopenharmony_ci   * @since 7
70061847f8eSopenharmony_ci   */
70161847f8eSopenharmony_ci  /**
70261847f8eSopenharmony_ci   * Total data count.
70361847f8eSopenharmony_ci   *
70461847f8eSopenharmony_ci   * @returns { number }
70561847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
70661847f8eSopenharmony_ci   * @crossplatform
70761847f8eSopenharmony_ci   * @since 10
70861847f8eSopenharmony_ci   */
70961847f8eSopenharmony_ci  /**
71061847f8eSopenharmony_ci   * Total data count.
71161847f8eSopenharmony_ci   *
71261847f8eSopenharmony_ci   * @returns { number }
71361847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
71461847f8eSopenharmony_ci   * @crossplatform
71561847f8eSopenharmony_ci   * @atomicservice
71661847f8eSopenharmony_ci   * @since 11
71761847f8eSopenharmony_ci   */
71861847f8eSopenharmony_ci  totalCount(): number;
71961847f8eSopenharmony_ci
72061847f8eSopenharmony_ci  /**
72161847f8eSopenharmony_ci   * Return the data of index.
72261847f8eSopenharmony_ci   *
72361847f8eSopenharmony_ci   * @param { number } index
72461847f8eSopenharmony_ci   * @returns { any }
72561847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
72661847f8eSopenharmony_ci   * @since 7
72761847f8eSopenharmony_ci   */
72861847f8eSopenharmony_ci  /**
72961847f8eSopenharmony_ci   * Return the data of index.
73061847f8eSopenharmony_ci   *
73161847f8eSopenharmony_ci   * @param { number } index
73261847f8eSopenharmony_ci   * @returns { any }
73361847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
73461847f8eSopenharmony_ci   * @crossplatform
73561847f8eSopenharmony_ci   * @since 10
73661847f8eSopenharmony_ci   */
73761847f8eSopenharmony_ci  /**
73861847f8eSopenharmony_ci   * Return the data of index.
73961847f8eSopenharmony_ci   *
74061847f8eSopenharmony_ci   * @param { number } index
74161847f8eSopenharmony_ci   * @returns { any }
74261847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
74361847f8eSopenharmony_ci   * @crossplatform
74461847f8eSopenharmony_ci   * @atomicservice
74561847f8eSopenharmony_ci   * @since 11
74661847f8eSopenharmony_ci   */
74761847f8eSopenharmony_ci  getData(index: number): any;
74861847f8eSopenharmony_ci
74961847f8eSopenharmony_ci  /**
75061847f8eSopenharmony_ci   * Register data change listener.
75161847f8eSopenharmony_ci   *
75261847f8eSopenharmony_ci   * @param { DataChangeListener } listener
75361847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
75461847f8eSopenharmony_ci   * @since 7
75561847f8eSopenharmony_ci   */
75661847f8eSopenharmony_ci  /**
75761847f8eSopenharmony_ci   * Register data change listener.
75861847f8eSopenharmony_ci   *
75961847f8eSopenharmony_ci   * @param { DataChangeListener } listener
76061847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
76161847f8eSopenharmony_ci   * @crossplatform
76261847f8eSopenharmony_ci   * @since 10
76361847f8eSopenharmony_ci   */
76461847f8eSopenharmony_ci  /**
76561847f8eSopenharmony_ci   * Register data change listener.
76661847f8eSopenharmony_ci   *
76761847f8eSopenharmony_ci   * @param { DataChangeListener } listener
76861847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
76961847f8eSopenharmony_ci   * @crossplatform
77061847f8eSopenharmony_ci   * @atomicservice
77161847f8eSopenharmony_ci   * @since 11
77261847f8eSopenharmony_ci   */
77361847f8eSopenharmony_ci  registerDataChangeListener(listener: DataChangeListener): void;
77461847f8eSopenharmony_ci
77561847f8eSopenharmony_ci  /**
77661847f8eSopenharmony_ci   * Unregister data change listener.
77761847f8eSopenharmony_ci   *
77861847f8eSopenharmony_ci   * @param { DataChangeListener } listener
77961847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
78061847f8eSopenharmony_ci   * @since 7
78161847f8eSopenharmony_ci   */
78261847f8eSopenharmony_ci  /**
78361847f8eSopenharmony_ci   * Unregister data change listener.
78461847f8eSopenharmony_ci   *
78561847f8eSopenharmony_ci   * @param { DataChangeListener } listener
78661847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
78761847f8eSopenharmony_ci   * @crossplatform
78861847f8eSopenharmony_ci   * @since 10
78961847f8eSopenharmony_ci   */
79061847f8eSopenharmony_ci  /**
79161847f8eSopenharmony_ci   * Unregister data change listener.
79261847f8eSopenharmony_ci   *
79361847f8eSopenharmony_ci   * @param { DataChangeListener } listener
79461847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
79561847f8eSopenharmony_ci   * @crossplatform
79661847f8eSopenharmony_ci   * @atomicservice
79761847f8eSopenharmony_ci   * @since 11
79861847f8eSopenharmony_ci   */
79961847f8eSopenharmony_ci  unregisterDataChangeListener(listener: DataChangeListener): void;
80061847f8eSopenharmony_ci}
80161847f8eSopenharmony_ci
80261847f8eSopenharmony_ci/**
80361847f8eSopenharmony_ci * declare ForEachAttribute
80461847f8eSopenharmony_ci *
80561847f8eSopenharmony_ci * @extends DynamicNode<LazyForEachAttribute>
80661847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
80761847f8eSopenharmony_ci * @crossplatform
80861847f8eSopenharmony_ci * @atomicservice
80961847f8eSopenharmony_ci * @since 12
81061847f8eSopenharmony_ci */
81161847f8eSopenharmony_cideclare class LazyForEachAttribute extends DynamicNode<LazyForEachAttribute> {
81261847f8eSopenharmony_ci}
81361847f8eSopenharmony_ci/**
81461847f8eSopenharmony_ci * Lazy loading.
81561847f8eSopenharmony_ci *
81661847f8eSopenharmony_ci * @interface LazyForEachInterface
81761847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
81861847f8eSopenharmony_ci * @since 7
81961847f8eSopenharmony_ci */
82061847f8eSopenharmony_ci/**
82161847f8eSopenharmony_ci * Lazy loading.
82261847f8eSopenharmony_ci *
82361847f8eSopenharmony_ci * @interface LazyForEachInterface
82461847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
82561847f8eSopenharmony_ci * @crossplatform
82661847f8eSopenharmony_ci * @since 10
82761847f8eSopenharmony_ci */
82861847f8eSopenharmony_ci/**
82961847f8eSopenharmony_ci * Lazy loading.
83061847f8eSopenharmony_ci *
83161847f8eSopenharmony_ci * @interface LazyForEachInterface
83261847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
83361847f8eSopenharmony_ci * @crossplatform
83461847f8eSopenharmony_ci * @atomicservice
83561847f8eSopenharmony_ci * @since 11
83661847f8eSopenharmony_ci */
83761847f8eSopenharmony_ciinterface LazyForEachInterface {
83861847f8eSopenharmony_ci  /**
83961847f8eSopenharmony_ci   * Enter the value to obtain the LazyForEach.
84061847f8eSopenharmony_ci   *
84161847f8eSopenharmony_ci   * @param { IDataSource } dataSource
84261847f8eSopenharmony_ci   * @param { function } itemGenerator
84361847f8eSopenharmony_ci   * @param { function } keyGenerator
84461847f8eSopenharmony_ci   * @returns { LazyForEachInterface }
84561847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
84661847f8eSopenharmony_ci   * @since 7
84761847f8eSopenharmony_ci   */
84861847f8eSopenharmony_ci  /**
84961847f8eSopenharmony_ci   * Enter the value to obtain the LazyForEach.
85061847f8eSopenharmony_ci   *
85161847f8eSopenharmony_ci   * @param { IDataSource } dataSource
85261847f8eSopenharmony_ci   * @param { function } itemGenerator
85361847f8eSopenharmony_ci   * @param { function } keyGenerator
85461847f8eSopenharmony_ci   * @returns { LazyForEachInterface }
85561847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
85661847f8eSopenharmony_ci   * @crossplatform
85761847f8eSopenharmony_ci   * @since 10
85861847f8eSopenharmony_ci   */
85961847f8eSopenharmony_ci  /**
86061847f8eSopenharmony_ci   * Enter the value to obtain the LazyForEach.
86161847f8eSopenharmony_ci   *
86261847f8eSopenharmony_ci   * @param { IDataSource } dataSource
86361847f8eSopenharmony_ci   * @param { function } itemGenerator
86461847f8eSopenharmony_ci   * @param { function } keyGenerator
86561847f8eSopenharmony_ci   * @returns { LazyForEachInterface }
86661847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
86761847f8eSopenharmony_ci   * @crossplatform
86861847f8eSopenharmony_ci   * @atomicservice
86961847f8eSopenharmony_ci   * @since 11
87061847f8eSopenharmony_ci   */
87161847f8eSopenharmony_ci  /**
87261847f8eSopenharmony_ci   * Enter the value to obtain the LazyForEach.
87361847f8eSopenharmony_ci   *
87461847f8eSopenharmony_ci   * @param { IDataSource } dataSource
87561847f8eSopenharmony_ci   * @param { function } itemGenerator
87661847f8eSopenharmony_ci   * @param { function } keyGenerator
87761847f8eSopenharmony_ci   * @returns { LazyForEachAttribute }
87861847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
87961847f8eSopenharmony_ci   * @crossplatform
88061847f8eSopenharmony_ci   * @atomicservice
88161847f8eSopenharmony_ci   * @since 12
88261847f8eSopenharmony_ci   */
88361847f8eSopenharmony_ci  (
88461847f8eSopenharmony_ci    dataSource: IDataSource,
88561847f8eSopenharmony_ci    itemGenerator: (item: any, index: number) => void,
88661847f8eSopenharmony_ci    keyGenerator?: (item: any, index: number) => string,
88761847f8eSopenharmony_ci  ): LazyForEachAttribute;
88861847f8eSopenharmony_ci}
88961847f8eSopenharmony_ci
89061847f8eSopenharmony_ci/**
89161847f8eSopenharmony_ci * Defines LazyForEach Component.
89261847f8eSopenharmony_ci *
89361847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
89461847f8eSopenharmony_ci * @since 7
89561847f8eSopenharmony_ci */
89661847f8eSopenharmony_ci/**
89761847f8eSopenharmony_ci * Defines LazyForEach Component.
89861847f8eSopenharmony_ci *
89961847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
90061847f8eSopenharmony_ci * @crossplatform
90161847f8eSopenharmony_ci * @since 10
90261847f8eSopenharmony_ci */
90361847f8eSopenharmony_ci/**
90461847f8eSopenharmony_ci * Defines LazyForEach Component.
90561847f8eSopenharmony_ci *
90661847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
90761847f8eSopenharmony_ci * @crossplatform
90861847f8eSopenharmony_ci * @atomicservice
90961847f8eSopenharmony_ci * @since 11
91061847f8eSopenharmony_ci */
91161847f8eSopenharmony_cideclare const LazyForEach: LazyForEachInterface;
912