161847f8eSopenharmony_ci/*
261847f8eSopenharmony_ci * Copyright (c) 2022-2024 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 * function that returns item main size by index.
2361847f8eSopenharmony_ci * 
2461847f8eSopenharmony_ci * @typedef { function } GetItemMainSizeByIndex
2561847f8eSopenharmony_ci * @param { number } index - the index of FlowItem
2661847f8eSopenharmony_ci * @returns { number } main size of the FlowItem at index
2761847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
2861847f8eSopenharmony_ci * @crossplatform
2961847f8eSopenharmony_ci * @atomicservice
3061847f8eSopenharmony_ci * @since 12
3161847f8eSopenharmony_ci */
3261847f8eSopenharmony_cideclare type GetItemMainSizeByIndex = (index: number) => number;
3361847f8eSopenharmony_ci
3461847f8eSopenharmony_ci/**
3561847f8eSopenharmony_ci * Defines the water flow section options.
3661847f8eSopenharmony_ci *
3761847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
3861847f8eSopenharmony_ci * @crossplatform
3961847f8eSopenharmony_ci * @atomicservice
4061847f8eSopenharmony_ci * @since 12
4161847f8eSopenharmony_ci*/
4261847f8eSopenharmony_cideclare class SectionOptions {
4361847f8eSopenharmony_ci  /**
4461847f8eSopenharmony_ci   * The number of FlowItems in this section.
4561847f8eSopenharmony_ci   *
4661847f8eSopenharmony_ci   * @type { number } itemsCount - the number of FlowItems in this section
4761847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
4861847f8eSopenharmony_ci   * @crossplatform
4961847f8eSopenharmony_ci   * @atomicservice
5061847f8eSopenharmony_ci   * @since 12
5161847f8eSopenharmony_ci   */
5261847f8eSopenharmony_ci  itemsCount: number;
5361847f8eSopenharmony_ci
5461847f8eSopenharmony_ci  /**
5561847f8eSopenharmony_ci   * The columns of this section in vertical layout, or rows in horizontal layout.
5661847f8eSopenharmony_ci   *
5761847f8eSopenharmony_ci   * @type { ?number } crossCount - cross count of this section
5861847f8eSopenharmony_ci   * @default 1 one column in vertical layout, or one row in horizontal layout
5961847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
6061847f8eSopenharmony_ci   * @crossplatform
6161847f8eSopenharmony_ci   * @atomicservice
6261847f8eSopenharmony_ci   * @since 12
6361847f8eSopenharmony_ci   */
6461847f8eSopenharmony_ci  crossCount?: number;
6561847f8eSopenharmony_ci
6661847f8eSopenharmony_ci  /**
6761847f8eSopenharmony_ci   * Asks the developer for the main size in vp of the flow item with the specified index.
6861847f8eSopenharmony_ci   * The water flow layout uses the size measured after the flow item is created if not set.
6961847f8eSopenharmony_ci   *
7061847f8eSopenharmony_ci   * @type { ?GetItemMainSizeByIndex } onGetItemMainSizeByIndex - function that returns item main size by index
7161847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
7261847f8eSopenharmony_ci   * @crossplatform
7361847f8eSopenharmony_ci   * @atomicservice
7461847f8eSopenharmony_ci   * @since 12
7561847f8eSopenharmony_ci   */
7661847f8eSopenharmony_ci  onGetItemMainSizeByIndex?: GetItemMainSizeByIndex;
7761847f8eSopenharmony_ci
7861847f8eSopenharmony_ci  /**
7961847f8eSopenharmony_ci   * Set the spacing between columns of this section.
8061847f8eSopenharmony_ci   *
8161847f8eSopenharmony_ci   * @type { ?Dimension } columnsGap - column gap of this section
8261847f8eSopenharmony_ci   * same with columnsGap of WaterFlow if not set
8361847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
8461847f8eSopenharmony_ci   * @crossplatform
8561847f8eSopenharmony_ci   * @atomicservice
8661847f8eSopenharmony_ci   * @since 12
8761847f8eSopenharmony_ci   */
8861847f8eSopenharmony_ci  columnsGap?: Dimension;
8961847f8eSopenharmony_ci
9061847f8eSopenharmony_ci  /**
9161847f8eSopenharmony_ci   * Set the spacing between rows of this section.
9261847f8eSopenharmony_ci   *
9361847f8eSopenharmony_ci   * @type { ?Dimension } rowsGap - row gap of this section
9461847f8eSopenharmony_ci   * same with rowsGap of WaterFlow if not set
9561847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
9661847f8eSopenharmony_ci   * @crossplatform
9761847f8eSopenharmony_ci   * @atomicservice
9861847f8eSopenharmony_ci   * @since 12
9961847f8eSopenharmony_ci   */
10061847f8eSopenharmony_ci  rowsGap?: Dimension;
10161847f8eSopenharmony_ci
10261847f8eSopenharmony_ci  /**
10361847f8eSopenharmony_ci   * Outer margin of this section.
10461847f8eSopenharmony_ci   *
10561847f8eSopenharmony_ci   * @type { ?(Margin | Dimension) } margin - outer margin of this section
10661847f8eSopenharmony_ci   * @default {top: 0, right: 0, bottom: 0, left: 0}
10761847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
10861847f8eSopenharmony_ci   * @crossplatform
10961847f8eSopenharmony_ci   * @atomicservice
11061847f8eSopenharmony_ci   * @since 12
11161847f8eSopenharmony_ci   */
11261847f8eSopenharmony_ci  margin?: Margin | Dimension;
11361847f8eSopenharmony_ci}
11461847f8eSopenharmony_ci
11561847f8eSopenharmony_ci/**
11661847f8eSopenharmony_ci * Indicates the sections of WaterFlow.
11761847f8eSopenharmony_ci *
11861847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
11961847f8eSopenharmony_ci * @crossplatform
12061847f8eSopenharmony_ci * @atomicservice
12161847f8eSopenharmony_ci * @since 12
12261847f8eSopenharmony_ci */
12361847f8eSopenharmony_cideclare class WaterFlowSections {
12461847f8eSopenharmony_ci  /**
12561847f8eSopenharmony_ci   * Creates an instance of WaterFlowSections.
12661847f8eSopenharmony_ci   *
12761847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
12861847f8eSopenharmony_ci   * @crossplatform
12961847f8eSopenharmony_ci   * @atomicservice
13061847f8eSopenharmony_ci   * @since 12
13161847f8eSopenharmony_ci   */
13261847f8eSopenharmony_ci  constructor();
13361847f8eSopenharmony_ci
13461847f8eSopenharmony_ci  /**
13561847f8eSopenharmony_ci   * Changes sections in the WaterFlow by removing or replacing existing elements and/or adding new elements in place.
13661847f8eSopenharmony_ci   *
13761847f8eSopenharmony_ci   * @param { number } start - Zero-based index at which to start changing the sections.
13861847f8eSopenharmony_ci   * @param { number } [deleteCount] - Indicating the number of sections in the WaterFlow to remove from start.
13961847f8eSopenharmony_ci   * @param { Array<SectionOptions> } [sections] - The new sections to add to the WaterFlow, beginning from start.
14061847f8eSopenharmony_ci   * @returns { boolean } Whether the splice was successful.
14161847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
14261847f8eSopenharmony_ci   * @crossplatform
14361847f8eSopenharmony_ci   * @atomicservice
14461847f8eSopenharmony_ci   * @since 12
14561847f8eSopenharmony_ci   */
14661847f8eSopenharmony_ci  splice(start: number, deleteCount?: number, sections?: Array<SectionOptions>): boolean;
14761847f8eSopenharmony_ci
14861847f8eSopenharmony_ci  /**
14961847f8eSopenharmony_ci   * Pushes a new section to the end of WaterFlow.
15061847f8eSopenharmony_ci   *
15161847f8eSopenharmony_ci   * @param { SectionOptions } section - new section options.
15261847f8eSopenharmony_ci   * @returns { boolean } Whether the push was successful.
15361847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
15461847f8eSopenharmony_ci   * @crossplatform
15561847f8eSopenharmony_ci   * @atomicservice
15661847f8eSopenharmony_ci   * @since 12
15761847f8eSopenharmony_ci   */
15861847f8eSopenharmony_ci  push(section: SectionOptions): boolean;
15961847f8eSopenharmony_ci
16061847f8eSopenharmony_ci  /**
16161847f8eSopenharmony_ci   * Updates section at specified section index.
16261847f8eSopenharmony_ci   *
16361847f8eSopenharmony_ci   * @param { number } sectionIndex - index of section to be updated.
16461847f8eSopenharmony_ci   * @param { SectionOptions } section - new section options.
16561847f8eSopenharmony_ci   * @returns { boolean } Whether the update was successful.
16661847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
16761847f8eSopenharmony_ci   * @crossplatform
16861847f8eSopenharmony_ci   * @atomicservice
16961847f8eSopenharmony_ci   * @since 12
17061847f8eSopenharmony_ci   */
17161847f8eSopenharmony_ci  update(sectionIndex:number, section: SectionOptions): boolean;
17261847f8eSopenharmony_ci
17361847f8eSopenharmony_ci  /**
17461847f8eSopenharmony_ci   * Obtains all the section options in the WaterFlow.
17561847f8eSopenharmony_ci   *
17661847f8eSopenharmony_ci   * @returns { Array<SectionOptions> } Returns all the section options in the WaterFlow.
17761847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
17861847f8eSopenharmony_ci   * @crossplatform
17961847f8eSopenharmony_ci   * @atomicservice
18061847f8eSopenharmony_ci   * @since 12
18161847f8eSopenharmony_ci   */
18261847f8eSopenharmony_ci  values(): Array<SectionOptions>;
18361847f8eSopenharmony_ci
18461847f8eSopenharmony_ci  /**
18561847f8eSopenharmony_ci   * Obtains the section counts in the WaterFlow.
18661847f8eSopenharmony_ci   *
18761847f8eSopenharmony_ci   * @returns { number } Returns section counts in the WaterFlow.
18861847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
18961847f8eSopenharmony_ci   * @crossplatform
19061847f8eSopenharmony_ci   * @atomicservice
19161847f8eSopenharmony_ci   * @since 12
19261847f8eSopenharmony_ci   */
19361847f8eSopenharmony_ci  length(): number;
19461847f8eSopenharmony_ci}
19561847f8eSopenharmony_ci
19661847f8eSopenharmony_ci/**
19761847f8eSopenharmony_ci * Declare layout modes of WaterFlow.
19861847f8eSopenharmony_ci *
19961847f8eSopenharmony_ci * @enum { number }
20061847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
20161847f8eSopenharmony_ci * @crossplatform
20261847f8eSopenharmony_ci * @atomicservice
20361847f8eSopenharmony_ci * @since 12
20461847f8eSopenharmony_ci */
20561847f8eSopenharmony_cideclare enum WaterFlowLayoutMode {
20661847f8eSopenharmony_ci  /**
20761847f8eSopenharmony_ci   * Top-down Layout mode. Positions of new items depend on items above.
20861847f8eSopenharmony_ci   *
20961847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
21061847f8eSopenharmony_ci   * @crossplatform
21161847f8eSopenharmony_ci   * @atomicservice
21261847f8eSopenharmony_ci   * @since 12
21361847f8eSopenharmony_ci   */
21461847f8eSopenharmony_ci  ALWAYS_TOP_DOWN = 0,
21561847f8eSopenharmony_ci
21661847f8eSopenharmony_ci  /**
21761847f8eSopenharmony_ci   * Sliding window mode. Only maintains layout information of items currently in viewport.
21861847f8eSopenharmony_ci   *
21961847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
22061847f8eSopenharmony_ci   * @crossplatform
22161847f8eSopenharmony_ci   * @atomicservice
22261847f8eSopenharmony_ci   * @since 12
22361847f8eSopenharmony_ci   */
22461847f8eSopenharmony_ci  SLIDING_WINDOW = 1,
22561847f8eSopenharmony_ci}
22661847f8eSopenharmony_ci
22761847f8eSopenharmony_ci/**
22861847f8eSopenharmony_ci * Defines the water flow options.
22961847f8eSopenharmony_ci *
23061847f8eSopenharmony_ci * @interface WaterFlowOptions
23161847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
23261847f8eSopenharmony_ci * @since 9
23361847f8eSopenharmony_ci */
23461847f8eSopenharmony_ci/**
23561847f8eSopenharmony_ci * Defines the water flow options.
23661847f8eSopenharmony_ci *
23761847f8eSopenharmony_ci * @interface WaterFlowOptions
23861847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
23961847f8eSopenharmony_ci * @crossplatform
24061847f8eSopenharmony_ci * @since 10
24161847f8eSopenharmony_ci */
24261847f8eSopenharmony_ci/**
24361847f8eSopenharmony_ci * Defines the water flow options.
24461847f8eSopenharmony_ci *
24561847f8eSopenharmony_ci * @interface WaterFlowOptions
24661847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
24761847f8eSopenharmony_ci * @crossplatform
24861847f8eSopenharmony_ci * @atomicservice
24961847f8eSopenharmony_ci * @since 11
25061847f8eSopenharmony_ci */
25161847f8eSopenharmony_cideclare interface WaterFlowOptions {
25261847f8eSopenharmony_ci  /**
25361847f8eSopenharmony_ci   * Describes the water flow footer.
25461847f8eSopenharmony_ci   *
25561847f8eSopenharmony_ci   * @type { ?CustomBuilder }
25661847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
25761847f8eSopenharmony_ci   * @since 9
25861847f8eSopenharmony_ci   */
25961847f8eSopenharmony_ci  /**
26061847f8eSopenharmony_ci   * Describes the water flow footer.
26161847f8eSopenharmony_ci   *
26261847f8eSopenharmony_ci   * @type { ?CustomBuilder }
26361847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
26461847f8eSopenharmony_ci   * @crossplatform
26561847f8eSopenharmony_ci   * @since 10
26661847f8eSopenharmony_ci   */
26761847f8eSopenharmony_ci  /**
26861847f8eSopenharmony_ci   * Describes the water flow footer.
26961847f8eSopenharmony_ci   *
27061847f8eSopenharmony_ci   * @type { ?CustomBuilder }
27161847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
27261847f8eSopenharmony_ci   * @crossplatform
27361847f8eSopenharmony_ci   * @atomicservice
27461847f8eSopenharmony_ci   * @since 11
27561847f8eSopenharmony_ci   */
27661847f8eSopenharmony_ci  footer?: CustomBuilder;
27761847f8eSopenharmony_ci
27861847f8eSopenharmony_ci  /**
27961847f8eSopenharmony_ci   * Describes the water flow scroller.
28061847f8eSopenharmony_ci   *
28161847f8eSopenharmony_ci   * @type { ?Scroller }
28261847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
28361847f8eSopenharmony_ci   * @since 9
28461847f8eSopenharmony_ci   */
28561847f8eSopenharmony_ci  /**
28661847f8eSopenharmony_ci   * Describes the water flow scroller.
28761847f8eSopenharmony_ci   *
28861847f8eSopenharmony_ci   * @type { ?Scroller }
28961847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
29061847f8eSopenharmony_ci   * @crossplatform
29161847f8eSopenharmony_ci   * @since 10
29261847f8eSopenharmony_ci   */
29361847f8eSopenharmony_ci  /**
29461847f8eSopenharmony_ci   * Describes the water flow scroller.
29561847f8eSopenharmony_ci   *
29661847f8eSopenharmony_ci   * @type { ?Scroller }
29761847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
29861847f8eSopenharmony_ci   * @crossplatform
29961847f8eSopenharmony_ci   * @atomicservice
30061847f8eSopenharmony_ci   * @since 11
30161847f8eSopenharmony_ci   */
30261847f8eSopenharmony_ci  scroller?: Scroller;
30361847f8eSopenharmony_ci
30461847f8eSopenharmony_ci  /**
30561847f8eSopenharmony_ci   * Describes the sections with different cross count that compose the water flow.
30661847f8eSopenharmony_ci   *
30761847f8eSopenharmony_ci   * @type { ?WaterFlowSections } sections - sections with different cross count 
30861847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
30961847f8eSopenharmony_ci   * @crossplatform
31061847f8eSopenharmony_ci   * @atomicservice
31161847f8eSopenharmony_ci   * @since 12
31261847f8eSopenharmony_ci   */
31361847f8eSopenharmony_ci  sections?: WaterFlowSections;
31461847f8eSopenharmony_ci
31561847f8eSopenharmony_ci  /**
31661847f8eSopenharmony_ci   * Describes the layout mode.
31761847f8eSopenharmony_ci   *
31861847f8eSopenharmony_ci   * @type { ?WaterFlowLayoutMode }
31961847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
32061847f8eSopenharmony_ci   * @crossplatform
32161847f8eSopenharmony_ci   * @atomicservice
32261847f8eSopenharmony_ci   * @since 12
32361847f8eSopenharmony_ci   */
32461847f8eSopenharmony_ci  layoutMode?: WaterFlowLayoutMode;
32561847f8eSopenharmony_ci}
32661847f8eSopenharmony_ci
32761847f8eSopenharmony_ci/**
32861847f8eSopenharmony_ci * Defines the water flow interface.
32961847f8eSopenharmony_ci *
33061847f8eSopenharmony_ci * @interface WaterFlowInterface
33161847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
33261847f8eSopenharmony_ci * @since 9
33361847f8eSopenharmony_ci */
33461847f8eSopenharmony_ci/**
33561847f8eSopenharmony_ci * Defines the water flow interface.
33661847f8eSopenharmony_ci *
33761847f8eSopenharmony_ci * @interface WaterFlowInterface
33861847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
33961847f8eSopenharmony_ci * @crossplatform
34061847f8eSopenharmony_ci * @since 10
34161847f8eSopenharmony_ci */
34261847f8eSopenharmony_ci/**
34361847f8eSopenharmony_ci * Defines the water flow interface.
34461847f8eSopenharmony_ci *
34561847f8eSopenharmony_ci * @interface WaterFlowInterface
34661847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
34761847f8eSopenharmony_ci * @crossplatform
34861847f8eSopenharmony_ci * @atomicservice
34961847f8eSopenharmony_ci * @since 11
35061847f8eSopenharmony_ci */
35161847f8eSopenharmony_ciinterface WaterFlowInterface {
35261847f8eSopenharmony_ci  /**
35361847f8eSopenharmony_ci   * WaterFlow is returned when the parameter is transferred. Only support api: scrollToIndex
35461847f8eSopenharmony_ci   *
35561847f8eSopenharmony_ci   * @param { WaterFlowOptions } options
35661847f8eSopenharmony_ci   * @returns { WaterFlowAttribute }
35761847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
35861847f8eSopenharmony_ci   * @since 9
35961847f8eSopenharmony_ci   */
36061847f8eSopenharmony_ci  /**
36161847f8eSopenharmony_ci   * WaterFlow is returned when the parameter is transferred. Only support api: scrollToIndex
36261847f8eSopenharmony_ci   *
36361847f8eSopenharmony_ci   * @param { WaterFlowOptions } options
36461847f8eSopenharmony_ci   * @returns { WaterFlowAttribute }
36561847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
36661847f8eSopenharmony_ci   * @crossplatform
36761847f8eSopenharmony_ci   * @since 10
36861847f8eSopenharmony_ci   */
36961847f8eSopenharmony_ci  /**
37061847f8eSopenharmony_ci   * WaterFlow is returned when the parameter is transferred. Only support api: scrollToIndex
37161847f8eSopenharmony_ci   *
37261847f8eSopenharmony_ci   * @param { WaterFlowOptions } options
37361847f8eSopenharmony_ci   * @returns { WaterFlowAttribute }
37461847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
37561847f8eSopenharmony_ci   * @crossplatform
37661847f8eSopenharmony_ci   * @atomicservice
37761847f8eSopenharmony_ci   * @since 11
37861847f8eSopenharmony_ci   */
37961847f8eSopenharmony_ci  (options?: WaterFlowOptions): WaterFlowAttribute;
38061847f8eSopenharmony_ci}
38161847f8eSopenharmony_ci
38261847f8eSopenharmony_ci/**
38361847f8eSopenharmony_ci * Defines the water flow attribute.
38461847f8eSopenharmony_ci * 
38561847f8eSopenharmony_ci * @extends CommonMethod<WaterFlowAttribute>
38661847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
38761847f8eSopenharmony_ci * @since 9
38861847f8eSopenharmony_ci */
38961847f8eSopenharmony_ci/**
39061847f8eSopenharmony_ci * Defines the water flow attribute.
39161847f8eSopenharmony_ci * 
39261847f8eSopenharmony_ci * @extends CommonMethod<WaterFlowAttribute>
39361847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
39461847f8eSopenharmony_ci * @crossplatform
39561847f8eSopenharmony_ci * @since 10
39661847f8eSopenharmony_ci */
39761847f8eSopenharmony_ci/**
39861847f8eSopenharmony_ci * Defines the water flow attribute.
39961847f8eSopenharmony_ci * 
40061847f8eSopenharmony_ci * @extends ScrollableCommonMethod<WaterFlowAttribute>
40161847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
40261847f8eSopenharmony_ci * @crossplatform
40361847f8eSopenharmony_ci * @atomicservice
40461847f8eSopenharmony_ci * @since 11
40561847f8eSopenharmony_ci */
40661847f8eSopenharmony_cideclare class WaterFlowAttribute extends ScrollableCommonMethod<WaterFlowAttribute> {
40761847f8eSopenharmony_ci  /**
40861847f8eSopenharmony_ci   * This parameter specifies the number of columns in the current waterflow.
40961847f8eSopenharmony_ci   *
41061847f8eSopenharmony_ci   * @param { string } value
41161847f8eSopenharmony_ci   * @returns { WaterFlowAttribute }
41261847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
41361847f8eSopenharmony_ci   * @since 9
41461847f8eSopenharmony_ci   */
41561847f8eSopenharmony_ci  /**
41661847f8eSopenharmony_ci   * This parameter specifies the number of columns in the current waterflow.
41761847f8eSopenharmony_ci   *
41861847f8eSopenharmony_ci   * @param { string } value
41961847f8eSopenharmony_ci   * @returns { WaterFlowAttribute }
42061847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
42161847f8eSopenharmony_ci   * @crossplatform
42261847f8eSopenharmony_ci   * @since 10
42361847f8eSopenharmony_ci   */
42461847f8eSopenharmony_ci  /**
42561847f8eSopenharmony_ci   * This parameter specifies the number of columns in the current waterflow.
42661847f8eSopenharmony_ci   *
42761847f8eSopenharmony_ci   * @param { string } value
42861847f8eSopenharmony_ci   * @returns { WaterFlowAttribute }
42961847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
43061847f8eSopenharmony_ci   * @crossplatform
43161847f8eSopenharmony_ci   * @atomicservice
43261847f8eSopenharmony_ci   * @since 11
43361847f8eSopenharmony_ci   */
43461847f8eSopenharmony_ci  columnsTemplate(value: string): WaterFlowAttribute;
43561847f8eSopenharmony_ci
43661847f8eSopenharmony_ci  /**
43761847f8eSopenharmony_ci   * This parameter specifies the min or max size of each item.
43861847f8eSopenharmony_ci   *
43961847f8eSopenharmony_ci   * @param { ConstraintSizeOptions } value
44061847f8eSopenharmony_ci   * @returns { WaterFlowAttribute }
44161847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
44261847f8eSopenharmony_ci   * @since 9
44361847f8eSopenharmony_ci   */
44461847f8eSopenharmony_ci  /**
44561847f8eSopenharmony_ci   * This parameter specifies the min or max size of each item.
44661847f8eSopenharmony_ci   *
44761847f8eSopenharmony_ci   * @param { ConstraintSizeOptions } value
44861847f8eSopenharmony_ci   * @returns { WaterFlowAttribute }
44961847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
45061847f8eSopenharmony_ci   * @crossplatform
45161847f8eSopenharmony_ci   * @since 10
45261847f8eSopenharmony_ci   */
45361847f8eSopenharmony_ci  /**
45461847f8eSopenharmony_ci   * This parameter specifies the min or max size of each item.
45561847f8eSopenharmony_ci   *
45661847f8eSopenharmony_ci   * @param { ConstraintSizeOptions } value
45761847f8eSopenharmony_ci   * @returns { WaterFlowAttribute }
45861847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
45961847f8eSopenharmony_ci   * @crossplatform
46061847f8eSopenharmony_ci   * @atomicservice
46161847f8eSopenharmony_ci   * @since 11
46261847f8eSopenharmony_ci   */
46361847f8eSopenharmony_ci  itemConstraintSize(value: ConstraintSizeOptions): WaterFlowAttribute;
46461847f8eSopenharmony_ci
46561847f8eSopenharmony_ci  /**
46661847f8eSopenharmony_ci   * Set the number of rows in the current waterflow.
46761847f8eSopenharmony_ci   *
46861847f8eSopenharmony_ci   * @param { string } value
46961847f8eSopenharmony_ci   * @returns { WaterFlowAttribute }
47061847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
47161847f8eSopenharmony_ci   * @since 9
47261847f8eSopenharmony_ci   */
47361847f8eSopenharmony_ci  /**
47461847f8eSopenharmony_ci   * Set the number of rows in the current waterflow.
47561847f8eSopenharmony_ci   *
47661847f8eSopenharmony_ci   * @param { string } value
47761847f8eSopenharmony_ci   * @returns { WaterFlowAttribute }
47861847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
47961847f8eSopenharmony_ci   * @crossplatform
48061847f8eSopenharmony_ci   * @since 10
48161847f8eSopenharmony_ci   */
48261847f8eSopenharmony_ci  /**
48361847f8eSopenharmony_ci   * Set the number of rows in the current waterflow.
48461847f8eSopenharmony_ci   *
48561847f8eSopenharmony_ci   * @param { string } value
48661847f8eSopenharmony_ci   * @returns { WaterFlowAttribute }
48761847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
48861847f8eSopenharmony_ci   * @crossplatform
48961847f8eSopenharmony_ci   * @atomicservice
49061847f8eSopenharmony_ci   * @since 11
49161847f8eSopenharmony_ci   */
49261847f8eSopenharmony_ci  rowsTemplate(value: string): WaterFlowAttribute;
49361847f8eSopenharmony_ci
49461847f8eSopenharmony_ci  /**
49561847f8eSopenharmony_ci   * Set the spacing between columns.
49661847f8eSopenharmony_ci   *
49761847f8eSopenharmony_ci   * @param { Length } value
49861847f8eSopenharmony_ci   * @returns { WaterFlowAttribute }
49961847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
50061847f8eSopenharmony_ci   * @since 9
50161847f8eSopenharmony_ci   */
50261847f8eSopenharmony_ci  /**
50361847f8eSopenharmony_ci   * Set the spacing between columns.
50461847f8eSopenharmony_ci   *
50561847f8eSopenharmony_ci   * @param { Length } value
50661847f8eSopenharmony_ci   * @returns { WaterFlowAttribute }
50761847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
50861847f8eSopenharmony_ci   * @crossplatform
50961847f8eSopenharmony_ci   * @since 10
51061847f8eSopenharmony_ci   */
51161847f8eSopenharmony_ci  /**
51261847f8eSopenharmony_ci   * Set the spacing between columns.
51361847f8eSopenharmony_ci   *
51461847f8eSopenharmony_ci   * @param { Length } value
51561847f8eSopenharmony_ci   * @returns { WaterFlowAttribute }
51661847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
51761847f8eSopenharmony_ci   * @crossplatform
51861847f8eSopenharmony_ci   * @atomicservice
51961847f8eSopenharmony_ci   * @since 11
52061847f8eSopenharmony_ci   */
52161847f8eSopenharmony_ci  columnsGap(value: Length): WaterFlowAttribute;
52261847f8eSopenharmony_ci
52361847f8eSopenharmony_ci  /**
52461847f8eSopenharmony_ci   * Set the spacing between rows.
52561847f8eSopenharmony_ci   *
52661847f8eSopenharmony_ci   * @param { Length } value
52761847f8eSopenharmony_ci   * @returns { WaterFlowAttribute }
52861847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
52961847f8eSopenharmony_ci   * @since 9
53061847f8eSopenharmony_ci   */
53161847f8eSopenharmony_ci  /**
53261847f8eSopenharmony_ci   * Set the spacing between rows.
53361847f8eSopenharmony_ci   *
53461847f8eSopenharmony_ci   * @param { Length } value
53561847f8eSopenharmony_ci   * @returns { WaterFlowAttribute }
53661847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
53761847f8eSopenharmony_ci   * @crossplatform
53861847f8eSopenharmony_ci   * @since 10
53961847f8eSopenharmony_ci   */
54061847f8eSopenharmony_ci  /**
54161847f8eSopenharmony_ci   * Set the spacing between rows.
54261847f8eSopenharmony_ci   *
54361847f8eSopenharmony_ci   * @param { Length } value
54461847f8eSopenharmony_ci   * @returns { WaterFlowAttribute }
54561847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
54661847f8eSopenharmony_ci   * @crossplatform
54761847f8eSopenharmony_ci   * @atomicservice
54861847f8eSopenharmony_ci   * @since 11
54961847f8eSopenharmony_ci   */
55061847f8eSopenharmony_ci  rowsGap(value: Length): WaterFlowAttribute;
55161847f8eSopenharmony_ci
55261847f8eSopenharmony_ci  /**
55361847f8eSopenharmony_ci   * Control layout direction of the WaterFlow.
55461847f8eSopenharmony_ci   *
55561847f8eSopenharmony_ci   * @param { FlexDirection } value
55661847f8eSopenharmony_ci   * @returns { WaterFlowAttribute }
55761847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
55861847f8eSopenharmony_ci   * @since 9
55961847f8eSopenharmony_ci   */
56061847f8eSopenharmony_ci  /**
56161847f8eSopenharmony_ci   * Control layout direction of the WaterFlow.
56261847f8eSopenharmony_ci   *
56361847f8eSopenharmony_ci   * @param { FlexDirection } value
56461847f8eSopenharmony_ci   * @returns { WaterFlowAttribute }
56561847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
56661847f8eSopenharmony_ci   * @crossplatform
56761847f8eSopenharmony_ci   * @since 10
56861847f8eSopenharmony_ci   */
56961847f8eSopenharmony_ci  /**
57061847f8eSopenharmony_ci   * Control layout direction of the WaterFlow.
57161847f8eSopenharmony_ci   *
57261847f8eSopenharmony_ci   * @param { FlexDirection } value
57361847f8eSopenharmony_ci   * @returns { WaterFlowAttribute }
57461847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
57561847f8eSopenharmony_ci   * @crossplatform
57661847f8eSopenharmony_ci   * @atomicservice
57761847f8eSopenharmony_ci   * @since 11
57861847f8eSopenharmony_ci   */
57961847f8eSopenharmony_ci  layoutDirection(value: FlexDirection): WaterFlowAttribute;
58061847f8eSopenharmony_ci
58161847f8eSopenharmony_ci  /**
58261847f8eSopenharmony_ci   * Called to setting the nested scroll options.
58361847f8eSopenharmony_ci   *
58461847f8eSopenharmony_ci   * @param { NestedScrollOptions } value - options for nested scrolling.
58561847f8eSopenharmony_ci   * @returns { WaterFlowAttribute } the attribute of the water flow.
58661847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
58761847f8eSopenharmony_ci   * @since 10
58861847f8eSopenharmony_ci   */
58961847f8eSopenharmony_ci  /**
59061847f8eSopenharmony_ci   * Called to setting the nested scroll options.
59161847f8eSopenharmony_ci   *
59261847f8eSopenharmony_ci   * @param { NestedScrollOptions } value - options for nested scrolling.
59361847f8eSopenharmony_ci   * @returns { WaterFlowAttribute } the attribute of the water flow.
59461847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
59561847f8eSopenharmony_ci   * @crossplatform
59661847f8eSopenharmony_ci   * @atomicservice
59761847f8eSopenharmony_ci   * @since 11
59861847f8eSopenharmony_ci   */
59961847f8eSopenharmony_ci  nestedScroll(value: NestedScrollOptions): WaterFlowAttribute;
60061847f8eSopenharmony_ci
60161847f8eSopenharmony_ci  /**
60261847f8eSopenharmony_ci   * Called when setting whether to enable scroll by gesture or mouse.
60361847f8eSopenharmony_ci   * @param { boolean } value
60461847f8eSopenharmony_ci   * @returns { WaterFlowAttribute } The attribute of the waterflow
60561847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
60661847f8eSopenharmony_ci   * @crossplatform
60761847f8eSopenharmony_ci   * @since 10
60861847f8eSopenharmony_ci   */
60961847f8eSopenharmony_ci  /**
61061847f8eSopenharmony_ci   * Called when setting whether to enable scroll by gesture or mouse.
61161847f8eSopenharmony_ci   * @param { boolean } value
61261847f8eSopenharmony_ci   * @returns { WaterFlowAttribute } The attribute of the waterflow
61361847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
61461847f8eSopenharmony_ci   * @crossplatform
61561847f8eSopenharmony_ci   * @atomicservice
61661847f8eSopenharmony_ci   * @since 11
61761847f8eSopenharmony_ci   */
61861847f8eSopenharmony_ci  enableScrollInteraction(value: boolean): WaterFlowAttribute;
61961847f8eSopenharmony_ci
62061847f8eSopenharmony_ci  /**
62161847f8eSopenharmony_ci   * Called to setting the friction.
62261847f8eSopenharmony_ci   * @param { number | Resource } value - options for scrolling friction.
62361847f8eSopenharmony_ci   * @returns { WaterFlowAttribute } the attribute of the water flow.
62461847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
62561847f8eSopenharmony_ci   * @crossplatform
62661847f8eSopenharmony_ci   * @since 10
62761847f8eSopenharmony_ci   */
62861847f8eSopenharmony_ci  /**
62961847f8eSopenharmony_ci   * Called to setting the friction.
63061847f8eSopenharmony_ci   * @param { number | Resource } value - options for scrolling friction.
63161847f8eSopenharmony_ci   * @returns { WaterFlowAttribute } the attribute of the water flow.
63261847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
63361847f8eSopenharmony_ci   * @crossplatform
63461847f8eSopenharmony_ci   * @atomicservice
63561847f8eSopenharmony_ci   * @since 11
63661847f8eSopenharmony_ci   */
63761847f8eSopenharmony_ci  friction(value: number | Resource): WaterFlowAttribute;
63861847f8eSopenharmony_ci
63961847f8eSopenharmony_ci  /**
64061847f8eSopenharmony_ci   * Called to set number of flow items to be preloaded (cached) in LazyForEach. 
64161847f8eSopenharmony_ci   * @param { number } value - number of flow items to be preloaded (cached).
64261847f8eSopenharmony_ci   * @returns { WaterFlowAttribute } the attribute of the water flow.
64361847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
64461847f8eSopenharmony_ci   * @crossplatform
64561847f8eSopenharmony_ci   * @since 11
64661847f8eSopenharmony_ci   */
64761847f8eSopenharmony_ci  /**
64861847f8eSopenharmony_ci   * Called to set number of flow items to be preloaded (cached) in LazyForEach. 
64961847f8eSopenharmony_ci   * @param { number } value - number of flow items to be preloaded (cached).
65061847f8eSopenharmony_ci   * @returns { WaterFlowAttribute } the attribute of the water flow.
65161847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
65261847f8eSopenharmony_ci   * @crossplatform
65361847f8eSopenharmony_ci   * @atomicservice
65461847f8eSopenharmony_ci   * @since 12
65561847f8eSopenharmony_ci   */
65661847f8eSopenharmony_ci  cachedCount(value: number): WaterFlowAttribute;
65761847f8eSopenharmony_ci
65861847f8eSopenharmony_ci  /**
65961847f8eSopenharmony_ci   * Called to set number of flow items to be preloaded (cached) in LazyForEach / Repeat. 
66061847f8eSopenharmony_ci   * @param { number } count - number of flow items to be preloaded (cached).
66161847f8eSopenharmony_ci   * @param { boolean } show - if true, cached items are displayed when clip is disabled.
66261847f8eSopenharmony_ci   * @returns { WaterFlowAttribute } the attribute of the water flow.
66361847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
66461847f8eSopenharmony_ci   * @crossplatform
66561847f8eSopenharmony_ci   * @atomicservice
66661847f8eSopenharmony_ci   * @since 14
66761847f8eSopenharmony_ci   */
66861847f8eSopenharmony_ci  cachedCount(count: number, show: boolean): WaterFlowAttribute;
66961847f8eSopenharmony_ci
67061847f8eSopenharmony_ci  /**
67161847f8eSopenharmony_ci   * Called when the water flow begins to arrive.
67261847f8eSopenharmony_ci   *
67361847f8eSopenharmony_ci   * @param { function } event
67461847f8eSopenharmony_ci   * @returns { WaterFlowAttribute }
67561847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
67661847f8eSopenharmony_ci   * @since 9
67761847f8eSopenharmony_ci   */
67861847f8eSopenharmony_ci  /**
67961847f8eSopenharmony_ci   * Called when the water flow begins to arrive.
68061847f8eSopenharmony_ci   *
68161847f8eSopenharmony_ci   * @param { function } event
68261847f8eSopenharmony_ci   * @returns { WaterFlowAttribute }
68361847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
68461847f8eSopenharmony_ci   * @crossplatform
68561847f8eSopenharmony_ci   * @since 10
68661847f8eSopenharmony_ci   */
68761847f8eSopenharmony_ci  /**
68861847f8eSopenharmony_ci   * Called when the water flow begins to arrive.
68961847f8eSopenharmony_ci   *
69061847f8eSopenharmony_ci   * @param { function } event
69161847f8eSopenharmony_ci   * @returns { WaterFlowAttribute }
69261847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
69361847f8eSopenharmony_ci   * @crossplatform
69461847f8eSopenharmony_ci   * @atomicservice
69561847f8eSopenharmony_ci   * @since 11
69661847f8eSopenharmony_ci   */
69761847f8eSopenharmony_ci  onReachStart(event: () => void): WaterFlowAttribute;
69861847f8eSopenharmony_ci
69961847f8eSopenharmony_ci  /**
70061847f8eSopenharmony_ci   * Called when the water flow reaches the end.
70161847f8eSopenharmony_ci   *
70261847f8eSopenharmony_ci   * @param { function } event
70361847f8eSopenharmony_ci   * @returns { WaterFlowAttribute }
70461847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
70561847f8eSopenharmony_ci   * @since 9
70661847f8eSopenharmony_ci   */
70761847f8eSopenharmony_ci  /**
70861847f8eSopenharmony_ci   * Called when the water flow reaches the end.
70961847f8eSopenharmony_ci   *
71061847f8eSopenharmony_ci   * @param { function } event
71161847f8eSopenharmony_ci   * @returns { WaterFlowAttribute }
71261847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
71361847f8eSopenharmony_ci   * @crossplatform
71461847f8eSopenharmony_ci   * @since 10
71561847f8eSopenharmony_ci   */
71661847f8eSopenharmony_ci  /**
71761847f8eSopenharmony_ci   * Called when the water flow reaches the end.
71861847f8eSopenharmony_ci   *
71961847f8eSopenharmony_ci   * @param { function } event
72061847f8eSopenharmony_ci   * @returns { WaterFlowAttribute }
72161847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
72261847f8eSopenharmony_ci   * @crossplatform
72361847f8eSopenharmony_ci   * @atomicservice
72461847f8eSopenharmony_ci   * @since 11
72561847f8eSopenharmony_ci   */
72661847f8eSopenharmony_ci  onReachEnd(event: () => void): WaterFlowAttribute;
72761847f8eSopenharmony_ci
72861847f8eSopenharmony_ci  /**
72961847f8eSopenharmony_ci   * Called when scrolling begin each frame.
73061847f8eSopenharmony_ci   *
73161847f8eSopenharmony_ci   * @param { function } event
73261847f8eSopenharmony_ci   * @returns { WaterFlowAttribute } the attribute of the water flow.
73361847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
73461847f8eSopenharmony_ci   * @crossplatform
73561847f8eSopenharmony_ci   * @since 10
73661847f8eSopenharmony_ci   */
73761847f8eSopenharmony_ci  /**
73861847f8eSopenharmony_ci   * Called when scrolling begin each frame.
73961847f8eSopenharmony_ci   *
74061847f8eSopenharmony_ci   * @param { function } event
74161847f8eSopenharmony_ci   * @returns { WaterFlowAttribute } the attribute of the water flow.
74261847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
74361847f8eSopenharmony_ci   * @crossplatform
74461847f8eSopenharmony_ci   * @atomicservice
74561847f8eSopenharmony_ci   * @since 11
74661847f8eSopenharmony_ci   */
74761847f8eSopenharmony_ci  onScrollFrameBegin(event: (offset: number, state: ScrollState) => { offsetRemain: number }): WaterFlowAttribute;
74861847f8eSopenharmony_ci
74961847f8eSopenharmony_ci  /**
75061847f8eSopenharmony_ci   * Called when the first or last item displayed in the waterflow changes.
75161847f8eSopenharmony_ci   *
75261847f8eSopenharmony_ci   * @param { function } event - Callback function, triggered when the first or last item 
75361847f8eSopenharmony_ci   * displayed in the waterflow changes.
75461847f8eSopenharmony_ci   * "first": the index of the first item displayed in the waterflow, 
75561847f8eSopenharmony_ci   * "last": the index of the last item displayed in the waterflow.
75661847f8eSopenharmony_ci   * @returns { WaterFlowAttribute } the attribute of the water flow.
75761847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
75861847f8eSopenharmony_ci   * @crossplatform
75961847f8eSopenharmony_ci   * @atomicservice
76061847f8eSopenharmony_ci   * @since 11
76161847f8eSopenharmony_ci   */
76261847f8eSopenharmony_ci  onScrollIndex(event: (first: number, last: number) => void): WaterFlowAttribute;
76361847f8eSopenharmony_ci}
76461847f8eSopenharmony_ci
76561847f8eSopenharmony_ci/**
76661847f8eSopenharmony_ci * Defines WaterFlow Component.
76761847f8eSopenharmony_ci *
76861847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
76961847f8eSopenharmony_ci * @since 9
77061847f8eSopenharmony_ci */
77161847f8eSopenharmony_ci/**
77261847f8eSopenharmony_ci * Defines WaterFlow Component.
77361847f8eSopenharmony_ci *
77461847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
77561847f8eSopenharmony_ci * @crossplatform
77661847f8eSopenharmony_ci * @since 10
77761847f8eSopenharmony_ci */
77861847f8eSopenharmony_ci/**
77961847f8eSopenharmony_ci * Defines WaterFlow Component.
78061847f8eSopenharmony_ci *
78161847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
78261847f8eSopenharmony_ci * @crossplatform
78361847f8eSopenharmony_ci * @atomicservice
78461847f8eSopenharmony_ci * @since 11
78561847f8eSopenharmony_ci */
78661847f8eSopenharmony_cideclare const WaterFlow: WaterFlowInterface;
78761847f8eSopenharmony_ci
78861847f8eSopenharmony_ci/**
78961847f8eSopenharmony_ci * Defines WaterFlow Component instance.
79061847f8eSopenharmony_ci *
79161847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
79261847f8eSopenharmony_ci * @since 9
79361847f8eSopenharmony_ci */
79461847f8eSopenharmony_ci/**
79561847f8eSopenharmony_ci * Defines WaterFlow Component instance.
79661847f8eSopenharmony_ci *
79761847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
79861847f8eSopenharmony_ci * @crossplatform
79961847f8eSopenharmony_ci * @since 10
80061847f8eSopenharmony_ci */
80161847f8eSopenharmony_ci/**
80261847f8eSopenharmony_ci * Defines WaterFlow Component instance.
80361847f8eSopenharmony_ci *
80461847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
80561847f8eSopenharmony_ci * @crossplatform
80661847f8eSopenharmony_ci * @atomicservice
80761847f8eSopenharmony_ci * @since 11
80861847f8eSopenharmony_ci */
80961847f8eSopenharmony_cideclare const WaterFlowInstance: WaterFlowAttribute;
810