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 * Content scroll direction.
2361847f8eSopenharmony_ci *
2461847f8eSopenharmony_ci * @enum { number }
2561847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
2661847f8eSopenharmony_ci * @since 7
2761847f8eSopenharmony_ci */
2861847f8eSopenharmony_ci/**
2961847f8eSopenharmony_ci * Content scroll direction.
3061847f8eSopenharmony_ci *
3161847f8eSopenharmony_ci * @enum { number }
3261847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
3361847f8eSopenharmony_ci * @crossplatform
3461847f8eSopenharmony_ci * @since 10
3561847f8eSopenharmony_ci */
3661847f8eSopenharmony_ci/**
3761847f8eSopenharmony_ci * Content scroll direction.
3861847f8eSopenharmony_ci *
3961847f8eSopenharmony_ci * @enum { number }
4061847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
4161847f8eSopenharmony_ci * @crossplatform
4261847f8eSopenharmony_ci * @atomicservice
4361847f8eSopenharmony_ci * @since 11
4461847f8eSopenharmony_ci */
4561847f8eSopenharmony_cideclare enum ScrollDirection {
4661847f8eSopenharmony_ci  /**
4761847f8eSopenharmony_ci   * Vertical scrolling is supported.
4861847f8eSopenharmony_ci   *
4961847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
5061847f8eSopenharmony_ci   * @since 7
5161847f8eSopenharmony_ci   */
5261847f8eSopenharmony_ci  /**
5361847f8eSopenharmony_ci   * Vertical scrolling is supported.
5461847f8eSopenharmony_ci   *
5561847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
5661847f8eSopenharmony_ci   * @crossplatform
5761847f8eSopenharmony_ci   * @since 10
5861847f8eSopenharmony_ci   */
5961847f8eSopenharmony_ci  /**
6061847f8eSopenharmony_ci   * Vertical scrolling is supported.
6161847f8eSopenharmony_ci   *
6261847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
6361847f8eSopenharmony_ci   * @crossplatform
6461847f8eSopenharmony_ci   * @atomicservice
6561847f8eSopenharmony_ci   * @since 11
6661847f8eSopenharmony_ci   */
6761847f8eSopenharmony_ci  Vertical,
6861847f8eSopenharmony_ci
6961847f8eSopenharmony_ci  /**
7061847f8eSopenharmony_ci   * Horizontal scrolling is supported.
7161847f8eSopenharmony_ci   *
7261847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
7361847f8eSopenharmony_ci   * @since 7
7461847f8eSopenharmony_ci   */
7561847f8eSopenharmony_ci  /**
7661847f8eSopenharmony_ci   * Horizontal scrolling is supported.
7761847f8eSopenharmony_ci   *
7861847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
7961847f8eSopenharmony_ci   * @crossplatform
8061847f8eSopenharmony_ci   * @since 10
8161847f8eSopenharmony_ci   */
8261847f8eSopenharmony_ci  /**
8361847f8eSopenharmony_ci   * Horizontal scrolling is supported.
8461847f8eSopenharmony_ci   *
8561847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
8661847f8eSopenharmony_ci   * @crossplatform
8761847f8eSopenharmony_ci   * @atomicservice
8861847f8eSopenharmony_ci   * @since 11
8961847f8eSopenharmony_ci   */
9061847f8eSopenharmony_ci  Horizontal,
9161847f8eSopenharmony_ci
9261847f8eSopenharmony_ci  /**
9361847f8eSopenharmony_ci   * Free scrolling is supported.
9461847f8eSopenharmony_ci   *
9561847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
9661847f8eSopenharmony_ci   * @since 7
9761847f8eSopenharmony_ci   * @deprecated since 9
9861847f8eSopenharmony_ci   */
9961847f8eSopenharmony_ci  Free,
10061847f8eSopenharmony_ci
10161847f8eSopenharmony_ci  /**
10261847f8eSopenharmony_ci   * Non-scrollable.
10361847f8eSopenharmony_ci   *
10461847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
10561847f8eSopenharmony_ci   * @since 7
10661847f8eSopenharmony_ci   */
10761847f8eSopenharmony_ci  /**
10861847f8eSopenharmony_ci   * Non-scrollable.
10961847f8eSopenharmony_ci   *
11061847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
11161847f8eSopenharmony_ci   * @crossplatform
11261847f8eSopenharmony_ci   * @since 10
11361847f8eSopenharmony_ci   */
11461847f8eSopenharmony_ci  /**
11561847f8eSopenharmony_ci   * Non-scrollable.
11661847f8eSopenharmony_ci   *
11761847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
11861847f8eSopenharmony_ci   * @crossplatform
11961847f8eSopenharmony_ci   * @atomicservice
12061847f8eSopenharmony_ci   * @since 11
12161847f8eSopenharmony_ci   */
12261847f8eSopenharmony_ci  None,
12361847f8eSopenharmony_ci}
12461847f8eSopenharmony_ci
12561847f8eSopenharmony_ci/**
12661847f8eSopenharmony_ci * ScrollAlign.
12761847f8eSopenharmony_ci *
12861847f8eSopenharmony_ci * @enum { number } ScrollAlign
12961847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
13061847f8eSopenharmony_ci * @crossplatform
13161847f8eSopenharmony_ci * @since 10
13261847f8eSopenharmony_ci */
13361847f8eSopenharmony_ci/**
13461847f8eSopenharmony_ci * ScrollAlign.
13561847f8eSopenharmony_ci *
13661847f8eSopenharmony_ci * @enum { number } ScrollAlign
13761847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
13861847f8eSopenharmony_ci * @crossplatform
13961847f8eSopenharmony_ci * @atomicservice
14061847f8eSopenharmony_ci * @since 11
14161847f8eSopenharmony_ci */
14261847f8eSopenharmony_cideclare enum ScrollAlign {
14361847f8eSopenharmony_ci  /**
14461847f8eSopenharmony_ci   * Start position alignment.
14561847f8eSopenharmony_ci   *
14661847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
14761847f8eSopenharmony_ci   * @crossplatform
14861847f8eSopenharmony_ci   * @since 10
14961847f8eSopenharmony_ci   */
15061847f8eSopenharmony_ci  /**
15161847f8eSopenharmony_ci   * Start position alignment.
15261847f8eSopenharmony_ci   *
15361847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
15461847f8eSopenharmony_ci   * @crossplatform
15561847f8eSopenharmony_ci   * @atomicservice
15661847f8eSopenharmony_ci   * @since 11
15761847f8eSopenharmony_ci   */
15861847f8eSopenharmony_ci  START,
15961847f8eSopenharmony_ci
16061847f8eSopenharmony_ci  /**
16161847f8eSopenharmony_ci   * Center alignment.
16261847f8eSopenharmony_ci   *
16361847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
16461847f8eSopenharmony_ci   * @crossplatform
16561847f8eSopenharmony_ci   * @since 10
16661847f8eSopenharmony_ci   */
16761847f8eSopenharmony_ci  /**
16861847f8eSopenharmony_ci   * Center alignment.
16961847f8eSopenharmony_ci   *
17061847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
17161847f8eSopenharmony_ci   * @crossplatform
17261847f8eSopenharmony_ci   * @atomicservice
17361847f8eSopenharmony_ci   * @since 11
17461847f8eSopenharmony_ci   */
17561847f8eSopenharmony_ci  CENTER,
17661847f8eSopenharmony_ci
17761847f8eSopenharmony_ci  /**
17861847f8eSopenharmony_ci   * End position alignment.
17961847f8eSopenharmony_ci   *
18061847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
18161847f8eSopenharmony_ci   * @crossplatform
18261847f8eSopenharmony_ci   * @since 10
18361847f8eSopenharmony_ci   */
18461847f8eSopenharmony_ci  /**
18561847f8eSopenharmony_ci   * End position alignment.
18661847f8eSopenharmony_ci   *
18761847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
18861847f8eSopenharmony_ci   * @crossplatform
18961847f8eSopenharmony_ci   * @atomicservice
19061847f8eSopenharmony_ci   * @since 11
19161847f8eSopenharmony_ci   */
19261847f8eSopenharmony_ci  END,
19361847f8eSopenharmony_ci
19461847f8eSopenharmony_ci  /**
19561847f8eSopenharmony_ci   * Scroll the minimum distance to fully display the specified item.
19661847f8eSopenharmony_ci   *
19761847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
19861847f8eSopenharmony_ci   * @crossplatform
19961847f8eSopenharmony_ci   * @since 10
20061847f8eSopenharmony_ci   */
20161847f8eSopenharmony_ci  /**
20261847f8eSopenharmony_ci   * Scroll the minimum distance to fully display the specified item.
20361847f8eSopenharmony_ci   *
20461847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
20561847f8eSopenharmony_ci   * @crossplatform
20661847f8eSopenharmony_ci   * @atomicservice
20761847f8eSopenharmony_ci   * @since 11
20861847f8eSopenharmony_ci   */
20961847f8eSopenharmony_ci  AUTO,
21061847f8eSopenharmony_ci}
21161847f8eSopenharmony_ci
21261847f8eSopenharmony_ci/**
21361847f8eSopenharmony_ci * OffsetResult info.
21461847f8eSopenharmony_ci *
21561847f8eSopenharmony_ci * @interface OffsetResult
21661847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
21761847f8eSopenharmony_ci * @crossplatform
21861847f8eSopenharmony_ci * @atomicservice
21961847f8eSopenharmony_ci * @since 11
22061847f8eSopenharmony_ci */
22161847f8eSopenharmony_cideclare interface OffsetResult {
22261847f8eSopenharmony_ci  /**
22361847f8eSopenharmony_ci   * The X-axis offset.
22461847f8eSopenharmony_ci   *
22561847f8eSopenharmony_ci   * @type { number }
22661847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
22761847f8eSopenharmony_ci   * @crossplatform
22861847f8eSopenharmony_ci   * @atomicservice
22961847f8eSopenharmony_ci   * @since 11
23061847f8eSopenharmony_ci   */
23161847f8eSopenharmony_ci  xOffset: number;
23261847f8eSopenharmony_ci
23361847f8eSopenharmony_ci  /**
23461847f8eSopenharmony_ci   * The y-axis offset.
23561847f8eSopenharmony_ci   *
23661847f8eSopenharmony_ci   * @type { number }
23761847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
23861847f8eSopenharmony_ci   * @crossplatform
23961847f8eSopenharmony_ci   * @atomicservice
24061847f8eSopenharmony_ci   * @since 11
24161847f8eSopenharmony_ci   */
24261847f8eSopenharmony_ci  yOffset: number;
24361847f8eSopenharmony_ci}
24461847f8eSopenharmony_ci
24561847f8eSopenharmony_ci/**
24661847f8eSopenharmony_ci * Define scroll edge options
24761847f8eSopenharmony_ci *
24861847f8eSopenharmony_ci * @interface ScrollEdgeOptions
24961847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
25061847f8eSopenharmony_ci * @crossplatform
25161847f8eSopenharmony_ci * @atomicservice
25261847f8eSopenharmony_ci * @since 12
25361847f8eSopenharmony_ci */
25461847f8eSopenharmony_cideclare interface ScrollEdgeOptions {
25561847f8eSopenharmony_ci  /**
25661847f8eSopenharmony_ci   * The fasten speed of scrolling to the edge, unit is vp/s.
25761847f8eSopenharmony_ci   *
25861847f8eSopenharmony_ci   * @type { ?number }
25961847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
26061847f8eSopenharmony_ci   * @crossplatform
26161847f8eSopenharmony_ci   * @atomicservice
26261847f8eSopenharmony_ci   * @since 12
26361847f8eSopenharmony_ci   */
26461847f8eSopenharmony_ci  velocity?: number;
26561847f8eSopenharmony_ci}
26661847f8eSopenharmony_ci
26761847f8eSopenharmony_ci/**
26861847f8eSopenharmony_ci * Define scrollToIndex options
26961847f8eSopenharmony_ci *
27061847f8eSopenharmony_ci * @interface ScrollToIndexOptions
27161847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
27261847f8eSopenharmony_ci * @crossplatform
27361847f8eSopenharmony_ci * @atomicservice
27461847f8eSopenharmony_ci * @since 12
27561847f8eSopenharmony_ci */
27661847f8eSopenharmony_cideclare interface ScrollToIndexOptions {
27761847f8eSopenharmony_ci  /**
27861847f8eSopenharmony_ci   * The extra offset of scrolling to the index, unit is vp.
27961847f8eSopenharmony_ci   *
28061847f8eSopenharmony_ci   * @type { ?LengthMetrics }
28161847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
28261847f8eSopenharmony_ci   * @crossplatform
28361847f8eSopenharmony_ci   * @atomicservice
28461847f8eSopenharmony_ci   * @since 12
28561847f8eSopenharmony_ci   */
28661847f8eSopenharmony_ci  extraOffset?: LengthMetrics;
28761847f8eSopenharmony_ci}
28861847f8eSopenharmony_ci
28961847f8eSopenharmony_ci/**
29061847f8eSopenharmony_ci * Provides custom animation parameters.
29161847f8eSopenharmony_ci *
29261847f8eSopenharmony_ci * @interface ScrollAnimationOptions
29361847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
29461847f8eSopenharmony_ci * @crossplatform
29561847f8eSopenharmony_ci * @atomicservice
29661847f8eSopenharmony_ci * @since 12
29761847f8eSopenharmony_ci */
29861847f8eSopenharmony_cideclare interface ScrollAnimationOptions {
29961847f8eSopenharmony_ci  /**
30061847f8eSopenharmony_ci   * Set the duration of the animation.
30161847f8eSopenharmony_ci   *
30261847f8eSopenharmony_ci   * @type { ?number }
30361847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
30461847f8eSopenharmony_ci   * @crossplatform
30561847f8eSopenharmony_ci   * @atomicservice
30661847f8eSopenharmony_ci   * @since 12
30761847f8eSopenharmony_ci   */
30861847f8eSopenharmony_ci  duration?: number;
30961847f8eSopenharmony_ci
31061847f8eSopenharmony_ci  /**
31161847f8eSopenharmony_ci   * Set the curve of the animation.
31261847f8eSopenharmony_ci   *
31361847f8eSopenharmony_ci   * @type { ?(Curve | ICurve) }
31461847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
31561847f8eSopenharmony_ci   * @crossplatform
31661847f8eSopenharmony_ci   * @atomicservice
31761847f8eSopenharmony_ci   * @since 12
31861847f8eSopenharmony_ci   */
31961847f8eSopenharmony_ci  curve?: Curve | ICurve;
32061847f8eSopenharmony_ci
32161847f8eSopenharmony_ci  /**
32261847f8eSopenharmony_ci   * Set whether the animation can over the boundary.
32361847f8eSopenharmony_ci   *
32461847f8eSopenharmony_ci   * @type { ?boolean }
32561847f8eSopenharmony_ci   * @default false
32661847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
32761847f8eSopenharmony_ci   * @crossplatform
32861847f8eSopenharmony_ci   * @atomicservice
32961847f8eSopenharmony_ci   * @since 12
33061847f8eSopenharmony_ci   */
33161847f8eSopenharmony_ci  canOverScroll?: boolean;
33261847f8eSopenharmony_ci}
33361847f8eSopenharmony_ci
33461847f8eSopenharmony_ci/**
33561847f8eSopenharmony_ci * OffsetOptions info.
33661847f8eSopenharmony_ci *
33761847f8eSopenharmony_ci * @interface OffsetOptions
33861847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
33961847f8eSopenharmony_ci * @crossplatform
34061847f8eSopenharmony_ci * @atomicservice
34161847f8eSopenharmony_ci * @since 12
34261847f8eSopenharmony_ci */
34361847f8eSopenharmony_cideclare interface OffsetOptions {
34461847f8eSopenharmony_ci  /**
34561847f8eSopenharmony_ci   * The X-axis offset.
34661847f8eSopenharmony_ci   *
34761847f8eSopenharmony_ci   * @type { ?Dimension }
34861847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
34961847f8eSopenharmony_ci   * @crossplatform
35061847f8eSopenharmony_ci   * @atomicservice
35161847f8eSopenharmony_ci   * @since 12
35261847f8eSopenharmony_ci   */
35361847f8eSopenharmony_ci  xOffset?: Dimension;
35461847f8eSopenharmony_ci
35561847f8eSopenharmony_ci  /**
35661847f8eSopenharmony_ci   * The y-axis offset.
35761847f8eSopenharmony_ci   *
35861847f8eSopenharmony_ci   * @type { ?Dimension }
35961847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
36061847f8eSopenharmony_ci   * @crossplatform
36161847f8eSopenharmony_ci   * @atomicservice
36261847f8eSopenharmony_ci   * @since 12
36361847f8eSopenharmony_ci   */
36461847f8eSopenharmony_ci  yOffset?: Dimension;
36561847f8eSopenharmony_ci}
36661847f8eSopenharmony_ci
36761847f8eSopenharmony_ci/**
36861847f8eSopenharmony_ci * Scroller
36961847f8eSopenharmony_ci * 
37061847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
37161847f8eSopenharmony_ci * @since 7
37261847f8eSopenharmony_ci */
37361847f8eSopenharmony_ci/**
37461847f8eSopenharmony_ci * Scroller
37561847f8eSopenharmony_ci * 
37661847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
37761847f8eSopenharmony_ci * @crossplatform
37861847f8eSopenharmony_ci * @since 10
37961847f8eSopenharmony_ci */
38061847f8eSopenharmony_ci/**
38161847f8eSopenharmony_ci * Scroller
38261847f8eSopenharmony_ci * 
38361847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
38461847f8eSopenharmony_ci * @crossplatform
38561847f8eSopenharmony_ci * @atomicservice
38661847f8eSopenharmony_ci * @since 11
38761847f8eSopenharmony_ci */
38861847f8eSopenharmony_cideclare class Scroller {
38961847f8eSopenharmony_ci  /**
39061847f8eSopenharmony_ci   * constructor.
39161847f8eSopenharmony_ci   *
39261847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
39361847f8eSopenharmony_ci   * @since 7
39461847f8eSopenharmony_ci   */
39561847f8eSopenharmony_ci  /**
39661847f8eSopenharmony_ci   * constructor.
39761847f8eSopenharmony_ci   *
39861847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
39961847f8eSopenharmony_ci   * @crossplatform
40061847f8eSopenharmony_ci   * @since 10
40161847f8eSopenharmony_ci   */
40261847f8eSopenharmony_ci  /**
40361847f8eSopenharmony_ci   * constructor.
40461847f8eSopenharmony_ci   *
40561847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
40661847f8eSopenharmony_ci   * @crossplatform
40761847f8eSopenharmony_ci   * @atomicservice
40861847f8eSopenharmony_ci   * @since 11
40961847f8eSopenharmony_ci   */
41061847f8eSopenharmony_ci  constructor();
41161847f8eSopenharmony_ci
41261847f8eSopenharmony_ci  /**
41361847f8eSopenharmony_ci   * Called when the setting slides to the specified position.
41461847f8eSopenharmony_ci   *
41561847f8eSopenharmony_ci   * @param { object } value
41661847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
41761847f8eSopenharmony_ci   * @since 7
41861847f8eSopenharmony_ci   */
41961847f8eSopenharmony_ci  /**
42061847f8eSopenharmony_ci   * Called when the setting slides to the specified position.
42161847f8eSopenharmony_ci   *
42261847f8eSopenharmony_ci   * @param { object } value
42361847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
42461847f8eSopenharmony_ci   * @crossplatform
42561847f8eSopenharmony_ci   * @since 10
42661847f8eSopenharmony_ci   */
42761847f8eSopenharmony_ci  /**
42861847f8eSopenharmony_ci   * Called when the setting slides to the specified position.
42961847f8eSopenharmony_ci   *
43061847f8eSopenharmony_ci   * @param { object } value
43161847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
43261847f8eSopenharmony_ci   * @crossplatform
43361847f8eSopenharmony_ci   * @atomicservice
43461847f8eSopenharmony_ci   * @since 11
43561847f8eSopenharmony_ci   */
43661847f8eSopenharmony_ci  /**
43761847f8eSopenharmony_ci   * Called when the setting slides to the specified position.
43861847f8eSopenharmony_ci   *
43961847f8eSopenharmony_ci   * @param { ScrollOptions } options - scroll options
44061847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
44161847f8eSopenharmony_ci   * @crossplatform
44261847f8eSopenharmony_ci   * @atomicservice
44361847f8eSopenharmony_ci   * @since 13
44461847f8eSopenharmony_ci   */
44561847f8eSopenharmony_ci  scrollTo(options: ScrollOptions);
44661847f8eSopenharmony_ci
44761847f8eSopenharmony_ci  /**
44861847f8eSopenharmony_ci   * Called when scrolling to the edge of the container.
44961847f8eSopenharmony_ci   *
45061847f8eSopenharmony_ci   * @param { Edge } value
45161847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
45261847f8eSopenharmony_ci   * @since 7
45361847f8eSopenharmony_ci   */
45461847f8eSopenharmony_ci  /**
45561847f8eSopenharmony_ci   * Called when scrolling to the edge of the container.
45661847f8eSopenharmony_ci   *
45761847f8eSopenharmony_ci   * @param { Edge } value
45861847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
45961847f8eSopenharmony_ci   * @crossplatform
46061847f8eSopenharmony_ci   * @since 10
46161847f8eSopenharmony_ci   */
46261847f8eSopenharmony_ci  /**
46361847f8eSopenharmony_ci   * Called when scrolling to the edge of the container.
46461847f8eSopenharmony_ci   *
46561847f8eSopenharmony_ci   * @param { Edge } value
46661847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
46761847f8eSopenharmony_ci   * @crossplatform
46861847f8eSopenharmony_ci   * @atomicservice
46961847f8eSopenharmony_ci   * @since 11
47061847f8eSopenharmony_ci   */
47161847f8eSopenharmony_ci  /**
47261847f8eSopenharmony_ci   * Called when scrolling to the edge of the container.
47361847f8eSopenharmony_ci   *
47461847f8eSopenharmony_ci   * @param { Edge } value - Edge type of the container.
47561847f8eSopenharmony_ci   * @param { ScrollEdgeOptions } [options] - Options of scrolling to edge.
47661847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
47761847f8eSopenharmony_ci   * @crossplatform
47861847f8eSopenharmony_ci   * @atomicservice
47961847f8eSopenharmony_ci   * @since 12
48061847f8eSopenharmony_ci   */
48161847f8eSopenharmony_ci  scrollEdge(value: Edge, options?: ScrollEdgeOptions);
48261847f8eSopenharmony_ci
48361847f8eSopenharmony_ci  /**
48461847f8eSopenharmony_ci   * Fling the scroll view.
48561847f8eSopenharmony_ci   *
48661847f8eSopenharmony_ci   * @param { number } velocity - initial velocity of fling, in vp/s.
48761847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 
48861847f8eSopenharmony_ci   * <br> 1. Mandatory parameters are left unspecified.
48961847f8eSopenharmony_ci   * <br> 2. Incorrect parameters types.
49061847f8eSopenharmony_ci   * <br> 3. Parameter verification failed.
49161847f8eSopenharmony_ci   * @throws { BusinessError } 100004 - Controller not bound to component.
49261847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
49361847f8eSopenharmony_ci   * @crossplatform
49461847f8eSopenharmony_ci   * @atomicservice
49561847f8eSopenharmony_ci   * @since 12
49661847f8eSopenharmony_ci   */
49761847f8eSopenharmony_ci  fling(velocity: number): void;
49861847f8eSopenharmony_ci
49961847f8eSopenharmony_ci  /**
50061847f8eSopenharmony_ci   * Called when page turning mode is set.
50161847f8eSopenharmony_ci   *
50261847f8eSopenharmony_ci   * @param { object } value
50361847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
50461847f8eSopenharmony_ci   * @since 9
50561847f8eSopenharmony_ci   */
50661847f8eSopenharmony_ci  /**
50761847f8eSopenharmony_ci   * Called when page turning mode is set.
50861847f8eSopenharmony_ci   *
50961847f8eSopenharmony_ci   * @param { object } value
51061847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
51161847f8eSopenharmony_ci   * @crossplatform
51261847f8eSopenharmony_ci   * @since 10
51361847f8eSopenharmony_ci   */
51461847f8eSopenharmony_ci  /**
51561847f8eSopenharmony_ci   * Called when page turning mode is set.
51661847f8eSopenharmony_ci   *
51761847f8eSopenharmony_ci   * @param { object } value
51861847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
51961847f8eSopenharmony_ci   * @crossplatform
52061847f8eSopenharmony_ci   * @atomicservice
52161847f8eSopenharmony_ci   * @since 11
52261847f8eSopenharmony_ci   */
52361847f8eSopenharmony_ci  /**
52461847f8eSopenharmony_ci   * Called when page turning mode is set.
52561847f8eSopenharmony_ci   *
52661847f8eSopenharmony_ci   * @param { ScrollPageOptions } value
52761847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
52861847f8eSopenharmony_ci   * @crossplatform
52961847f8eSopenharmony_ci   * @atomicservice
53061847f8eSopenharmony_ci   * @since 14
53161847f8eSopenharmony_ci   */
53261847f8eSopenharmony_ci  scrollPage(value: ScrollPageOptions);
53361847f8eSopenharmony_ci
53461847f8eSopenharmony_ci  /**
53561847f8eSopenharmony_ci   * Called when page turning mode is set.
53661847f8eSopenharmony_ci   *
53761847f8eSopenharmony_ci   * @param { object } value
53861847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
53961847f8eSopenharmony_ci   * @since 7
54061847f8eSopenharmony_ci   * @deprecated since 9
54161847f8eSopenharmony_ci   */
54261847f8eSopenharmony_ci  scrollPage(value: { next: boolean; direction?: Axis });
54361847f8eSopenharmony_ci
54461847f8eSopenharmony_ci  /**
54561847f8eSopenharmony_ci   * Called when viewing the scroll offset.
54661847f8eSopenharmony_ci   *
54761847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
54861847f8eSopenharmony_ci   * @since 7
54961847f8eSopenharmony_ci   */
55061847f8eSopenharmony_ci  /**
55161847f8eSopenharmony_ci   * Called when viewing the scroll offset.
55261847f8eSopenharmony_ci   *
55361847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
55461847f8eSopenharmony_ci   * @crossplatform
55561847f8eSopenharmony_ci   * @since 10
55661847f8eSopenharmony_ci   */
55761847f8eSopenharmony_ci  /**
55861847f8eSopenharmony_ci   * Called when viewing the scroll offset.
55961847f8eSopenharmony_ci   *
56061847f8eSopenharmony_ci   * @returns { OffsetResult } Returns the current scrolling offset. If the scroller not bound to a component, the return value is void.
56161847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
56261847f8eSopenharmony_ci   * @crossplatform
56361847f8eSopenharmony_ci   * @atomicservice
56461847f8eSopenharmony_ci   * @since 11
56561847f8eSopenharmony_ci   */
56661847f8eSopenharmony_ci  currentOffset() : OffsetResult;
56761847f8eSopenharmony_ci
56861847f8eSopenharmony_ci  /**
56961847f8eSopenharmony_ci   * Called when sliding to the specified index.
57061847f8eSopenharmony_ci   *
57161847f8eSopenharmony_ci   * @param { number } value
57261847f8eSopenharmony_ci   * @param { boolean } smooth
57361847f8eSopenharmony_ci   * @param { ScrollAlign } align
57461847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
57561847f8eSopenharmony_ci   * @since 7
57661847f8eSopenharmony_ci   */
57761847f8eSopenharmony_ci  /**
57861847f8eSopenharmony_ci   * Called when sliding to the specified index.
57961847f8eSopenharmony_ci   *
58061847f8eSopenharmony_ci   * @param { number } value - Index to jump to.
58161847f8eSopenharmony_ci   * @param { boolean } smooth - If true, scroll to index item with animation. If false, scroll to index item without animation.
58261847f8eSopenharmony_ci   * @param { ScrollAlign } align - Sets the alignment mode of a specified index.
58361847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
58461847f8eSopenharmony_ci   * @crossplatform
58561847f8eSopenharmony_ci   * @since 10
58661847f8eSopenharmony_ci   */
58761847f8eSopenharmony_ci  /**
58861847f8eSopenharmony_ci   * Called when sliding to the specified index.
58961847f8eSopenharmony_ci   *
59061847f8eSopenharmony_ci   * @param { number } value - Index to jump to.
59161847f8eSopenharmony_ci   * @param { boolean } smooth - If true, scroll to index item with animation. If false, scroll to index item without animation.
59261847f8eSopenharmony_ci   * @param { ScrollAlign } align - Sets the alignment mode of a specified index.
59361847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
59461847f8eSopenharmony_ci   * @crossplatform
59561847f8eSopenharmony_ci   * @atomicservice
59661847f8eSopenharmony_ci   * @since 11
59761847f8eSopenharmony_ci   */
59861847f8eSopenharmony_ci  /**
59961847f8eSopenharmony_ci   * Scroll to the specified index.
60061847f8eSopenharmony_ci   *
60161847f8eSopenharmony_ci   * @param { number } value - Index to jump to.
60261847f8eSopenharmony_ci   * @param { boolean } [smooth] - If true, scroll to index item with animation. If false, scroll to index item without animation.
60361847f8eSopenharmony_ci   * @param { ScrollAlign } [align] - Sets the alignment mode of a specified index.
60461847f8eSopenharmony_ci   * @param { ScrollToIndexOptions } [options] - Sets the options of a specified index, such as extra offset.
60561847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
60661847f8eSopenharmony_ci   * @crossplatform
60761847f8eSopenharmony_ci   * @atomicservice
60861847f8eSopenharmony_ci   * @since 12
60961847f8eSopenharmony_ci   */
61061847f8eSopenharmony_ci  scrollToIndex(value: number, smooth?: boolean, align?: ScrollAlign, options?: ScrollToIndexOptions);
61161847f8eSopenharmony_ci
61261847f8eSopenharmony_ci  /**
61361847f8eSopenharmony_ci   * Called when the setting slides by offset.
61461847f8eSopenharmony_ci   *
61561847f8eSopenharmony_ci   * @param { Length } dx
61661847f8eSopenharmony_ci   * @param { Length } dy
61761847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
61861847f8eSopenharmony_ci   * @since 9
61961847f8eSopenharmony_ci   */
62061847f8eSopenharmony_ci  /**
62161847f8eSopenharmony_ci   * Called when the setting slides by offset.
62261847f8eSopenharmony_ci   *
62361847f8eSopenharmony_ci   * @param { Length } dx
62461847f8eSopenharmony_ci   * @param { Length } dy
62561847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
62661847f8eSopenharmony_ci   * @crossplatform
62761847f8eSopenharmony_ci   * @since 10
62861847f8eSopenharmony_ci   */
62961847f8eSopenharmony_ci  /**
63061847f8eSopenharmony_ci   * Called when the setting slides by offset.
63161847f8eSopenharmony_ci   *
63261847f8eSopenharmony_ci   * @param { Length } dx
63361847f8eSopenharmony_ci   * @param { Length } dy
63461847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
63561847f8eSopenharmony_ci   * @crossplatform
63661847f8eSopenharmony_ci   * @atomicservice
63761847f8eSopenharmony_ci   * @since 11
63861847f8eSopenharmony_ci   */
63961847f8eSopenharmony_ci  scrollBy(dx: Length, dy: Length);
64061847f8eSopenharmony_ci
64161847f8eSopenharmony_ci  /**
64261847f8eSopenharmony_ci   * Indicates whether the component scrolls to the end position.
64361847f8eSopenharmony_ci   *
64461847f8eSopenharmony_ci   * @returns { boolean } Returns whether the component scrolls to the end position.
64561847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
64661847f8eSopenharmony_ci   * @crossplatform
64761847f8eSopenharmony_ci   * @since 10
64861847f8eSopenharmony_ci   */
64961847f8eSopenharmony_ci  /**
65061847f8eSopenharmony_ci   * Indicates whether the component scrolls to the end position.
65161847f8eSopenharmony_ci   *
65261847f8eSopenharmony_ci   * @returns { boolean } Returns whether the component scrolls to the end position.
65361847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
65461847f8eSopenharmony_ci   * @crossplatform
65561847f8eSopenharmony_ci   * @atomicservice
65661847f8eSopenharmony_ci   * @since 11
65761847f8eSopenharmony_ci   */
65861847f8eSopenharmony_ci  isAtEnd(): boolean;
65961847f8eSopenharmony_ci
66061847f8eSopenharmony_ci  /**
66161847f8eSopenharmony_ci   * Get child item size and position.
66261847f8eSopenharmony_ci   *
66361847f8eSopenharmony_ci   * @param { number } index - Index of the item.
66461847f8eSopenharmony_ci   * @returns { RectResult } Returns the size and position.
66561847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 
66661847f8eSopenharmony_ci   * <br> 1. Mandatory parameters are left unspecified.
66761847f8eSopenharmony_ci   * <br> 2. Incorrect parameters types.
66861847f8eSopenharmony_ci   * <br> 3. Parameter verification failed.
66961847f8eSopenharmony_ci   * @throws { BusinessError } 100004 - Controller not bound to component.
67061847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
67161847f8eSopenharmony_ci   * @crossplatform
67261847f8eSopenharmony_ci   * @since 11
67361847f8eSopenharmony_ci   */
67461847f8eSopenharmony_ci  /**
67561847f8eSopenharmony_ci   * Get child item size and position.
67661847f8eSopenharmony_ci   *
67761847f8eSopenharmony_ci   * @param { number } index - Index of the item.
67861847f8eSopenharmony_ci   * @returns { RectResult } Returns the size and position.
67961847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 
68061847f8eSopenharmony_ci   * <br> 1. Mandatory parameters are left unspecified.
68161847f8eSopenharmony_ci   * <br> 2. Incorrect parameters types.
68261847f8eSopenharmony_ci   * <br> 3. Parameter verification failed.
68361847f8eSopenharmony_ci   * @throws { BusinessError } 100004 - Controller not bound to component.
68461847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
68561847f8eSopenharmony_ci   * @crossplatform
68661847f8eSopenharmony_ci   * @atomicservice
68761847f8eSopenharmony_ci   * @since 12
68861847f8eSopenharmony_ci   */
68961847f8eSopenharmony_ci  getItemRect(index: number): RectResult;
69061847f8eSopenharmony_ci
69161847f8eSopenharmony_ci  /**
69261847f8eSopenharmony_ci   * Get item index by position.
69361847f8eSopenharmony_ci   *
69461847f8eSopenharmony_ci   * @param { number } x - X coordinate relative to the upper left corner of the current component's original area, in vp.
69561847f8eSopenharmony_ci   * @param { number } y - Y coordinate relative to the upper left corner of the current component's original area, in vp.
69661847f8eSopenharmony_ci   * @returns { number } Index of the item.
69761847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes:
69861847f8eSopenharmony_ci   * <br> 1. Mandatory parameters are left unspecified.
69961847f8eSopenharmony_ci   * <br> 2. Incorrect parameters types.
70061847f8eSopenharmony_ci   * <br> 3. Parameter verification failed.
70161847f8eSopenharmony_ci   * @throws { BusinessError } 100004 - The controller not bound to component.
70261847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
70361847f8eSopenharmony_ci   * @crossplatform
70461847f8eSopenharmony_ci   * @atomicservice
70561847f8eSopenharmony_ci   * @since 13
70661847f8eSopenharmony_ci   */
70761847f8eSopenharmony_ci  getItemIndex(x: number, y: number): number;
70861847f8eSopenharmony_ci}
70961847f8eSopenharmony_ci
71061847f8eSopenharmony_ci/**
71161847f8eSopenharmony_ci * Define scroll options.
71261847f8eSopenharmony_ci *
71361847f8eSopenharmony_ci * @interface ScrollOptions
71461847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
71561847f8eSopenharmony_ci * @crossplatform
71661847f8eSopenharmony_ci * @atomicservice
71761847f8eSopenharmony_ci * @since 13
71861847f8eSopenharmony_ci */
71961847f8eSopenharmony_cideclare interface ScrollOptions {
72061847f8eSopenharmony_ci  /**
72161847f8eSopenharmony_ci   * The X-axis offset.
72261847f8eSopenharmony_ci   *
72361847f8eSopenharmony_ci   * @type { number | string }
72461847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
72561847f8eSopenharmony_ci   * @crossplatform
72661847f8eSopenharmony_ci   * @since 10
72761847f8eSopenharmony_ci   */
72861847f8eSopenharmony_ci  /**
72961847f8eSopenharmony_ci   * The X-axis offset.
73061847f8eSopenharmony_ci   *
73161847f8eSopenharmony_ci   * @type { number | string }
73261847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
73361847f8eSopenharmony_ci   * @crossplatform
73461847f8eSopenharmony_ci   * @atomicservice
73561847f8eSopenharmony_ci   * @since 11
73661847f8eSopenharmony_ci   */
73761847f8eSopenharmony_ci  xOffset: number | string;
73861847f8eSopenharmony_ci
73961847f8eSopenharmony_ci  /**
74061847f8eSopenharmony_ci   * The Y-axis offset.
74161847f8eSopenharmony_ci   *
74261847f8eSopenharmony_ci   * @type { number | string }
74361847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
74461847f8eSopenharmony_ci   * @crossplatform
74561847f8eSopenharmony_ci   * @since 10
74661847f8eSopenharmony_ci   */
74761847f8eSopenharmony_ci  /**
74861847f8eSopenharmony_ci   * The Y-axis offset.
74961847f8eSopenharmony_ci   *
75061847f8eSopenharmony_ci   * @type { number | string }
75161847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
75261847f8eSopenharmony_ci   * @crossplatform
75361847f8eSopenharmony_ci   * @atomicservice
75461847f8eSopenharmony_ci   * @since 11
75561847f8eSopenharmony_ci   */
75661847f8eSopenharmony_ci  yOffset: number | string;
75761847f8eSopenharmony_ci
75861847f8eSopenharmony_ci  /**
75961847f8eSopenharmony_ci   * Descriptive animation.
76061847f8eSopenharmony_ci   *
76161847f8eSopenharmony_ci   * @type { ?({ duration?: number; curve?: Curve | ICurve } | boolean) } The object type provides custom animation parameters
76261847f8eSopenharmony_ci   * and the boolean type enables default spring animation.
76361847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
76461847f8eSopenharmony_ci   * @crossplatform
76561847f8eSopenharmony_ci   * @since 10
76661847f8eSopenharmony_ci   */
76761847f8eSopenharmony_ci  /**
76861847f8eSopenharmony_ci   * Descriptive animation.
76961847f8eSopenharmony_ci   *
77061847f8eSopenharmony_ci   * @type { ?({ duration?: number; curve?: Curve | ICurve } | boolean) } The object type provides custom animation parameters
77161847f8eSopenharmony_ci   * and the boolean type enables default spring animation.
77261847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
77361847f8eSopenharmony_ci   * @crossplatform
77461847f8eSopenharmony_ci   * @atomicservice
77561847f8eSopenharmony_ci   * @since 11
77661847f8eSopenharmony_ci   */
77761847f8eSopenharmony_ci  /**
77861847f8eSopenharmony_ci   * Descriptive animation.
77961847f8eSopenharmony_ci   *
78061847f8eSopenharmony_ci   * @type { ?( ScrollAnimationOptions | boolean) } The ScrollAnimationOptions type provides custom animation parameters
78161847f8eSopenharmony_ci   * and the boolean type enables default spring animation.
78261847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
78361847f8eSopenharmony_ci   * @crossplatform
78461847f8eSopenharmony_ci   * @atomicservice
78561847f8eSopenharmony_ci   * @since 12
78661847f8eSopenharmony_ci   */
78761847f8eSopenharmony_ci  animation?: ScrollAnimationOptions | boolean;
78861847f8eSopenharmony_ci}
78961847f8eSopenharmony_ci
79061847f8eSopenharmony_ci/**
79161847f8eSopenharmony_ci * Define scroll page options
79261847f8eSopenharmony_ci * @interface ScrollPageOptions
79361847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
79461847f8eSopenharmony_ci * @atomicservice
79561847f8eSopenharmony_ci * @since 14
79661847f8eSopenharmony_ci */
79761847f8eSopenharmony_cideclare interface ScrollPageOptions {
79861847f8eSopenharmony_ci  /**
79961847f8eSopenharmony_ci   * Control whether to scroll to the next page or the previous page.
80061847f8eSopenharmony_ci   *
80161847f8eSopenharmony_ci   * @type { boolean }
80261847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
80361847f8eSopenharmony_ci   * @crossplatform
80461847f8eSopenharmony_ci   * @atomicservice
80561847f8eSopenharmony_ci   * @since 14
80661847f8eSopenharmony_ci   */
80761847f8eSopenharmony_ci  next: boolean;
80861847f8eSopenharmony_ci
80961847f8eSopenharmony_ci  /**
81061847f8eSopenharmony_ci   * Set whether the scrollPage have animate.
81161847f8eSopenharmony_ci   *
81261847f8eSopenharmony_ci   * @type { ?boolean }
81361847f8eSopenharmony_ci   * @default false
81461847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
81561847f8eSopenharmony_ci   * @crossplatform
81661847f8eSopenharmony_ci   * @atomicservice
81761847f8eSopenharmony_ci   * @since 14
81861847f8eSopenharmony_ci   */
81961847f8eSopenharmony_ci  animation?: boolean;
82061847f8eSopenharmony_ci}
82161847f8eSopenharmony_ci
82261847f8eSopenharmony_ci/**
82361847f8eSopenharmony_ci * Define scroll snap options
82461847f8eSopenharmony_ci * 
82561847f8eSopenharmony_ci * @interface ScrollSnapOptions
82661847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
82761847f8eSopenharmony_ci * @since 10
82861847f8eSopenharmony_ci */
82961847f8eSopenharmony_ci/**
83061847f8eSopenharmony_ci * Define scroll snap options
83161847f8eSopenharmony_ci * 
83261847f8eSopenharmony_ci * @interface ScrollSnapOptions
83361847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
83461847f8eSopenharmony_ci * @atomicservice
83561847f8eSopenharmony_ci * @since 11
83661847f8eSopenharmony_ci */
83761847f8eSopenharmony_cideclare interface ScrollSnapOptions {
83861847f8eSopenharmony_ci  /**
83961847f8eSopenharmony_ci   * Set scroll snap alignment.
84061847f8eSopenharmony_ci   *
84161847f8eSopenharmony_ci   * @type { ScrollSnapAlign }
84261847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
84361847f8eSopenharmony_ci   * @since 10
84461847f8eSopenharmony_ci   */
84561847f8eSopenharmony_ci  /**
84661847f8eSopenharmony_ci   * Set scroll snap alignment.
84761847f8eSopenharmony_ci   *
84861847f8eSopenharmony_ci   * @type { ScrollSnapAlign }
84961847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
85061847f8eSopenharmony_ci   * @atomicservice
85161847f8eSopenharmony_ci   * @since 11
85261847f8eSopenharmony_ci   */
85361847f8eSopenharmony_ci  snapAlign: ScrollSnapAlign;
85461847f8eSopenharmony_ci
85561847f8eSopenharmony_ci  /**
85661847f8eSopenharmony_ci   * Set snap positions. When the type of snapPositions is Dimension, Scroll content is paginated by an integer
85761847f8eSopenharmony_ci   * multiple of snapPositions. When the type of snapPositions is Array<number>, Scroll content is paginated based
85861847f8eSopenharmony_ci   * on the array of snapPositions.
85961847f8eSopenharmony_ci   *
86061847f8eSopenharmony_ci   * @type { ?(Dimension | Array<Dimension>) }
86161847f8eSopenharmony_ci   * @default 100%
86261847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
86361847f8eSopenharmony_ci   * @since 10
86461847f8eSopenharmony_ci   */
86561847f8eSopenharmony_ci  /**
86661847f8eSopenharmony_ci   * Set snap positions. When the type of snapPositions is Dimension, Scroll content is paginated by an integer
86761847f8eSopenharmony_ci   * multiple of snapPositions. When the type of snapPositions is Array<number>, Scroll content is paginated based
86861847f8eSopenharmony_ci   * on the array of snapPositions.
86961847f8eSopenharmony_ci   *
87061847f8eSopenharmony_ci   * @type { ?(Dimension | Array<Dimension>) }
87161847f8eSopenharmony_ci   * @default 100%
87261847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
87361847f8eSopenharmony_ci   * @atomicservice
87461847f8eSopenharmony_ci   * @since 11
87561847f8eSopenharmony_ci   */
87661847f8eSopenharmony_ci  snapPagination?: Dimension | Array<Dimension>;
87761847f8eSopenharmony_ci
87861847f8eSopenharmony_ci  /**
87961847f8eSopenharmony_ci   * Set whether the beginning of the Scroll content counts an a snap.
88061847f8eSopenharmony_ci   *
88161847f8eSopenharmony_ci   * @type { ?boolean }
88261847f8eSopenharmony_ci   * @default true
88361847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
88461847f8eSopenharmony_ci   * @since 10
88561847f8eSopenharmony_ci   */
88661847f8eSopenharmony_ci  /**
88761847f8eSopenharmony_ci   * Set whether the beginning of the Scroll content counts an a snap.
88861847f8eSopenharmony_ci   *
88961847f8eSopenharmony_ci   * @type { ?boolean }
89061847f8eSopenharmony_ci   * @default true
89161847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
89261847f8eSopenharmony_ci   * @atomicservice
89361847f8eSopenharmony_ci   * @since 11
89461847f8eSopenharmony_ci   */
89561847f8eSopenharmony_ci  enableSnapToStart?: boolean;
89661847f8eSopenharmony_ci
89761847f8eSopenharmony_ci  /**
89861847f8eSopenharmony_ci   * Set whether the end of the Scroll content counts an a snap.
89961847f8eSopenharmony_ci   *
90061847f8eSopenharmony_ci   * @type { ?boolean }
90161847f8eSopenharmony_ci   * @default true
90261847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
90361847f8eSopenharmony_ci   * @since 10
90461847f8eSopenharmony_ci   */
90561847f8eSopenharmony_ci  /**
90661847f8eSopenharmony_ci   * Set whether the end of the Scroll content counts an a snap.
90761847f8eSopenharmony_ci   *
90861847f8eSopenharmony_ci   * @type { ?boolean }
90961847f8eSopenharmony_ci   * @default true
91061847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
91161847f8eSopenharmony_ci   * @atomicservice
91261847f8eSopenharmony_ci   * @since 11
91361847f8eSopenharmony_ci   */
91461847f8eSopenharmony_ci  enableSnapToEnd?: boolean;
91561847f8eSopenharmony_ci}
91661847f8eSopenharmony_ci
91761847f8eSopenharmony_ci/**
91861847f8eSopenharmony_ci * Provides interfaces for scrollable containers.
91961847f8eSopenharmony_ci *
92061847f8eSopenharmony_ci * @interface ScrollInterface
92161847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
92261847f8eSopenharmony_ci * @since 7
92361847f8eSopenharmony_ci */
92461847f8eSopenharmony_ci/**
92561847f8eSopenharmony_ci * Provides interfaces for scrollable containers.
92661847f8eSopenharmony_ci *
92761847f8eSopenharmony_ci * @interface ScrollInterface
92861847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
92961847f8eSopenharmony_ci * @crossplatform
93061847f8eSopenharmony_ci * @since 10
93161847f8eSopenharmony_ci */
93261847f8eSopenharmony_ci/**
93361847f8eSopenharmony_ci * Provides interfaces for scrollable containers.
93461847f8eSopenharmony_ci *
93561847f8eSopenharmony_ci * @interface ScrollInterface
93661847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
93761847f8eSopenharmony_ci * @crossplatform
93861847f8eSopenharmony_ci * @atomicservice
93961847f8eSopenharmony_ci * @since 11
94061847f8eSopenharmony_ci */
94161847f8eSopenharmony_ciinterface ScrollInterface {
94261847f8eSopenharmony_ci  /**
94361847f8eSopenharmony_ci   * Called when a scrollable container is set.
94461847f8eSopenharmony_ci   *
94561847f8eSopenharmony_ci   * @param { Scroller } scroller
94661847f8eSopenharmony_ci   * @returns { ScrollAttribute }
94761847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
94861847f8eSopenharmony_ci   * @since 7
94961847f8eSopenharmony_ci   */
95061847f8eSopenharmony_ci  /**
95161847f8eSopenharmony_ci   * Called when a scrollable container is set.
95261847f8eSopenharmony_ci   *
95361847f8eSopenharmony_ci   * @param { Scroller } scroller
95461847f8eSopenharmony_ci   * @returns { ScrollAttribute }
95561847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
95661847f8eSopenharmony_ci   * @crossplatform
95761847f8eSopenharmony_ci   * @since 10
95861847f8eSopenharmony_ci   */
95961847f8eSopenharmony_ci  /**
96061847f8eSopenharmony_ci   * Called when a scrollable container is set.
96161847f8eSopenharmony_ci   *
96261847f8eSopenharmony_ci   * @param { Scroller } scroller
96361847f8eSopenharmony_ci   * @returns { ScrollAttribute }
96461847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
96561847f8eSopenharmony_ci   * @crossplatform
96661847f8eSopenharmony_ci   * @atomicservice
96761847f8eSopenharmony_ci   * @since 11
96861847f8eSopenharmony_ci   */
96961847f8eSopenharmony_ci  (scroller?: Scroller): ScrollAttribute;
97061847f8eSopenharmony_ci}
97161847f8eSopenharmony_ci
97261847f8eSopenharmony_ci/**
97361847f8eSopenharmony_ci * Defines a Scroll onScrollEdge callback.
97461847f8eSopenharmony_ci *
97561847f8eSopenharmony_ci * @typedef { function } OnScrollEdgeCallback
97661847f8eSopenharmony_ci * @param { Edge } side - the edge position scrolled to
97761847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
97861847f8eSopenharmony_ci * @crossplatform
97961847f8eSopenharmony_ci * @atomicservice
98061847f8eSopenharmony_ci * @since 13
98161847f8eSopenharmony_ci */
98261847f8eSopenharmony_cideclare type OnScrollEdgeCallback = (side: Edge) => void;
98361847f8eSopenharmony_ci
98461847f8eSopenharmony_ci/**
98561847f8eSopenharmony_ci * The data returned by the event handler when onScrollFrameBegin.
98661847f8eSopenharmony_ci *
98761847f8eSopenharmony_ci * @interface OnScrollFrameBeginHandlerResult
98861847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
98961847f8eSopenharmony_ci * @crossplatform
99061847f8eSopenharmony_ci * @atomicservice
99161847f8eSopenharmony_ci * @since 13
99261847f8eSopenharmony_ci */
99361847f8eSopenharmony_ciinterface OnScrollFrameBeginHandlerResult {
99461847f8eSopenharmony_ci  /**
99561847f8eSopenharmony_ci   * Actual sliding amount, unit vp.
99661847f8eSopenharmony_ci   *
99761847f8eSopenharmony_ci   * @type { number }
99861847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
99961847f8eSopenharmony_ci   * @since 9
100061847f8eSopenharmony_ci   */
100161847f8eSopenharmony_ci  /**
100261847f8eSopenharmony_ci   * Actual sliding amount, unit vp.
100361847f8eSopenharmony_ci   *
100461847f8eSopenharmony_ci   * @type { number }
100561847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
100661847f8eSopenharmony_ci   * @crossplatform
100761847f8eSopenharmony_ci   * @since 10
100861847f8eSopenharmony_ci   */
100961847f8eSopenharmony_ci  /**
101061847f8eSopenharmony_ci   * Actual sliding amount, unit vp.
101161847f8eSopenharmony_ci   *
101261847f8eSopenharmony_ci   * @type { number }
101361847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
101461847f8eSopenharmony_ci   * @crossplatform
101561847f8eSopenharmony_ci   * @atomicservice
101661847f8eSopenharmony_ci   * @since 11
101761847f8eSopenharmony_ci   */
101861847f8eSopenharmony_ci  offsetRemain: number;
101961847f8eSopenharmony_ci}
102061847f8eSopenharmony_ci
102161847f8eSopenharmony_ci/**
102261847f8eSopenharmony_ci * Defines a Scroll onScrollFrameBegin callback.
102361847f8eSopenharmony_ci *
102461847f8eSopenharmony_ci * @typedef { function } OnScrollFrameBeginCallback
102561847f8eSopenharmony_ci * @param { number } offset - The upcoming sliding amount, unit vp
102661847f8eSopenharmony_ci * @param { ScrollState } state - current sliding status
102761847f8eSopenharmony_ci * @returns { OnScrollFrameBeginHandlerResult } data - the scroll data return by handler
102861847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
102961847f8eSopenharmony_ci * @crossplatform
103061847f8eSopenharmony_ci * @atomicservice
103161847f8eSopenharmony_ci * @since 13
103261847f8eSopenharmony_ci */
103361847f8eSopenharmony_cideclare type OnScrollFrameBeginCallback = (offset: number, state: ScrollState) => OnScrollFrameBeginHandlerResult;
103461847f8eSopenharmony_ci
103561847f8eSopenharmony_ci/**
103661847f8eSopenharmony_ci * Defines the scroll attribute functions.
103761847f8eSopenharmony_ci *
103861847f8eSopenharmony_ci * @extends CommonMethod<ScrollAttribute>
103961847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
104061847f8eSopenharmony_ci * @since 7
104161847f8eSopenharmony_ci */
104261847f8eSopenharmony_ci/**
104361847f8eSopenharmony_ci * Defines the scroll attribute functions.
104461847f8eSopenharmony_ci *
104561847f8eSopenharmony_ci * @extends CommonMethod<ScrollAttribute>
104661847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
104761847f8eSopenharmony_ci * @crossplatform
104861847f8eSopenharmony_ci * @since 10
104961847f8eSopenharmony_ci */
105061847f8eSopenharmony_ci/**
105161847f8eSopenharmony_ci * Defines the scroll attribute functions.
105261847f8eSopenharmony_ci *
105361847f8eSopenharmony_ci * @extends ScrollableCommonMethod<ScrollAttribute>
105461847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
105561847f8eSopenharmony_ci * @crossplatform
105661847f8eSopenharmony_ci * @atomicservice
105761847f8eSopenharmony_ci * @since 11
105861847f8eSopenharmony_ci */
105961847f8eSopenharmony_cideclare class ScrollAttribute extends ScrollableCommonMethod<ScrollAttribute> {
106061847f8eSopenharmony_ci  /**
106161847f8eSopenharmony_ci   * Called when the scroll method is slid.
106261847f8eSopenharmony_ci   *
106361847f8eSopenharmony_ci   * @param { ScrollDirection } value
106461847f8eSopenharmony_ci   * @returns { ScrollAttribute }
106561847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
106661847f8eSopenharmony_ci   * @since 7
106761847f8eSopenharmony_ci   */
106861847f8eSopenharmony_ci  /**
106961847f8eSopenharmony_ci   * Called when the scroll method is slid.
107061847f8eSopenharmony_ci   *
107161847f8eSopenharmony_ci   * @param { ScrollDirection } value
107261847f8eSopenharmony_ci   * @returns { ScrollAttribute }
107361847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
107461847f8eSopenharmony_ci   * @crossplatform
107561847f8eSopenharmony_ci   * @since 10
107661847f8eSopenharmony_ci   */
107761847f8eSopenharmony_ci  /**
107861847f8eSopenharmony_ci   * Called when the scroll method is slid.
107961847f8eSopenharmony_ci   *
108061847f8eSopenharmony_ci   * @param { ScrollDirection } value
108161847f8eSopenharmony_ci   * @returns { ScrollAttribute }
108261847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
108361847f8eSopenharmony_ci   * @crossplatform
108461847f8eSopenharmony_ci   * @atomicservice
108561847f8eSopenharmony_ci   * @since 11
108661847f8eSopenharmony_ci   */
108761847f8eSopenharmony_ci  scrollable(value: ScrollDirection): ScrollAttribute;
108861847f8eSopenharmony_ci
108961847f8eSopenharmony_ci  /**
109061847f8eSopenharmony_ci   * Called when the setting slides to the specified position.
109161847f8eSopenharmony_ci   *
109261847f8eSopenharmony_ci   * @param { function } event
109361847f8eSopenharmony_ci   * @returns { ScrollAttribute }
109461847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
109561847f8eSopenharmony_ci   * @since 7
109661847f8eSopenharmony_ci   */
109761847f8eSopenharmony_ci  /**
109861847f8eSopenharmony_ci   * Called when the setting slides to the specified position.
109961847f8eSopenharmony_ci   *
110061847f8eSopenharmony_ci   * @param { function } event
110161847f8eSopenharmony_ci   * @returns { ScrollAttribute }
110261847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
110361847f8eSopenharmony_ci   * @crossplatform
110461847f8eSopenharmony_ci   * @since 10
110561847f8eSopenharmony_ci   */
110661847f8eSopenharmony_ci  /**
110761847f8eSopenharmony_ci   * Called when the setting slides to the specified position.
110861847f8eSopenharmony_ci   *
110961847f8eSopenharmony_ci   * @param { function } event
111061847f8eSopenharmony_ci   * @returns { ScrollAttribute }
111161847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
111261847f8eSopenharmony_ci   * @crossplatform
111361847f8eSopenharmony_ci   * @atomicservice
111461847f8eSopenharmony_ci   * @since 11
111561847f8eSopenharmony_ci   * @deprecated since 12
111661847f8eSopenharmony_ci   * @useinstead scroll/Scroll#onWillScroll
111761847f8eSopenharmony_ci   * 
111861847f8eSopenharmony_ci   */
111961847f8eSopenharmony_ci  onScroll(event: (xOffset: number, yOffset: number) => void): ScrollAttribute;
112061847f8eSopenharmony_ci
112161847f8eSopenharmony_ci  /**
112261847f8eSopenharmony_ci   * Called when the Scroll will scroll.
112361847f8eSopenharmony_ci   *
112461847f8eSopenharmony_ci   * @param { ScrollOnWillScrollCallback } handler - callback of Scroll
112561847f8eSopenharmony_ci   * @returns { ScrollAttribute }
112661847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
112761847f8eSopenharmony_ci   * @crossplatform
112861847f8eSopenharmony_ci   * @atomicservice
112961847f8eSopenharmony_ci   * @since 12
113061847f8eSopenharmony_ci   */
113161847f8eSopenharmony_ci  onWillScroll(handler: ScrollOnWillScrollCallback): ScrollAttribute;
113261847f8eSopenharmony_ci
113361847f8eSopenharmony_ci  /**
113461847f8eSopenharmony_ci   * Called when the Scroll did scroll.
113561847f8eSopenharmony_ci   *
113661847f8eSopenharmony_ci   * @param { ScrollOnScrollCallback } handler - callback of Scroll,
113761847f8eSopenharmony_ci   * xOffset and yOffset are offsets this frame did scroll, scrollState is current scroll state.
113861847f8eSopenharmony_ci   * @returns { ScrollAttribute }
113961847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
114061847f8eSopenharmony_ci   * @crossplatform
114161847f8eSopenharmony_ci   * @atomicservice
114261847f8eSopenharmony_ci   * @since 12
114361847f8eSopenharmony_ci   */
114461847f8eSopenharmony_ci  onDidScroll(handler: ScrollOnScrollCallback): ScrollAttribute;
114561847f8eSopenharmony_ci
114661847f8eSopenharmony_ci  /**
114761847f8eSopenharmony_ci   * Called when scrolling to the edge of the container.
114861847f8eSopenharmony_ci   *
114961847f8eSopenharmony_ci   * @param { function } event
115061847f8eSopenharmony_ci   * @returns { ScrollAttribute }
115161847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
115261847f8eSopenharmony_ci   * @since 7
115361847f8eSopenharmony_ci   */
115461847f8eSopenharmony_ci  /**
115561847f8eSopenharmony_ci   * Called when scrolling to the edge of the container.
115661847f8eSopenharmony_ci   *
115761847f8eSopenharmony_ci   * @param { function } event
115861847f8eSopenharmony_ci   * @returns { ScrollAttribute }
115961847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
116061847f8eSopenharmony_ci   * @crossplatform
116161847f8eSopenharmony_ci   * @since 10
116261847f8eSopenharmony_ci   */
116361847f8eSopenharmony_ci  /**
116461847f8eSopenharmony_ci   * Called when scrolling to the edge of the container.
116561847f8eSopenharmony_ci   *
116661847f8eSopenharmony_ci   * @param { function } event
116761847f8eSopenharmony_ci   * @returns { ScrollAttribute }
116861847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
116961847f8eSopenharmony_ci   * @crossplatform
117061847f8eSopenharmony_ci   * @atomicservice
117161847f8eSopenharmony_ci   * @since 11
117261847f8eSopenharmony_ci   */
117361847f8eSopenharmony_ci  /**
117461847f8eSopenharmony_ci   * Called when scrolling to the edge of the container.
117561847f8eSopenharmony_ci   *
117661847f8eSopenharmony_ci   * @param { OnScrollEdgeCallback } event
117761847f8eSopenharmony_ci   * @returns { ScrollAttribute }
117861847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
117961847f8eSopenharmony_ci   * @crossplatform
118061847f8eSopenharmony_ci   * @atomicservice
118161847f8eSopenharmony_ci   * @since 13
118261847f8eSopenharmony_ci   */
118361847f8eSopenharmony_ci  onScrollEdge(event: OnScrollEdgeCallback): ScrollAttribute;
118461847f8eSopenharmony_ci
118561847f8eSopenharmony_ci  /**
118661847f8eSopenharmony_ci   * Called when scrolling start.
118761847f8eSopenharmony_ci   *
118861847f8eSopenharmony_ci   * @param { function } event
118961847f8eSopenharmony_ci   * @returns { ScrollAttribute }
119061847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
119161847f8eSopenharmony_ci   * @since 9
119261847f8eSopenharmony_ci   */
119361847f8eSopenharmony_ci  /**
119461847f8eSopenharmony_ci   * Called when scrolling start.
119561847f8eSopenharmony_ci   *
119661847f8eSopenharmony_ci   * @param { function } event
119761847f8eSopenharmony_ci   * @returns { ScrollAttribute }
119861847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
119961847f8eSopenharmony_ci   * @crossplatform
120061847f8eSopenharmony_ci   * @since 10
120161847f8eSopenharmony_ci   */
120261847f8eSopenharmony_ci  /**
120361847f8eSopenharmony_ci   * Called when scrolling start.
120461847f8eSopenharmony_ci   *
120561847f8eSopenharmony_ci   * @param { function } event
120661847f8eSopenharmony_ci   * @returns { ScrollAttribute }
120761847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
120861847f8eSopenharmony_ci   * @crossplatform
120961847f8eSopenharmony_ci   * @atomicservice
121061847f8eSopenharmony_ci   * @since 11
121161847f8eSopenharmony_ci   */
121261847f8eSopenharmony_ci  /**
121361847f8eSopenharmony_ci   * Called when scrolling start.
121461847f8eSopenharmony_ci   *
121561847f8eSopenharmony_ci   * @param { VoidCallback } event
121661847f8eSopenharmony_ci   * @returns { ScrollAttribute }
121761847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
121861847f8eSopenharmony_ci   * @crossplatform
121961847f8eSopenharmony_ci   * @atomicservice
122061847f8eSopenharmony_ci   * @since 13
122161847f8eSopenharmony_ci   */
122261847f8eSopenharmony_ci  onScrollStart(event: VoidCallback): ScrollAttribute;
122361847f8eSopenharmony_ci
122461847f8eSopenharmony_ci  /**
122561847f8eSopenharmony_ci   * Called when scrolling has stopped.
122661847f8eSopenharmony_ci   *
122761847f8eSopenharmony_ci   * @param { function } event
122861847f8eSopenharmony_ci   * @returns { ScrollAttribute }
122961847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
123061847f8eSopenharmony_ci   * @since 7
123161847f8eSopenharmony_ci   * @deprecated since 9
123261847f8eSopenharmony_ci   * @useinstead scroll/Scroll#onScrollStop
123361847f8eSopenharmony_ci   */
123461847f8eSopenharmony_ci  onScrollEnd(event: () => void): ScrollAttribute;
123561847f8eSopenharmony_ci
123661847f8eSopenharmony_ci  /**
123761847f8eSopenharmony_ci   * Called when scrolling has stopped.
123861847f8eSopenharmony_ci   *
123961847f8eSopenharmony_ci   * @param { function } event
124061847f8eSopenharmony_ci   * @returns { ScrollAttribute }
124161847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
124261847f8eSopenharmony_ci   * @since 9
124361847f8eSopenharmony_ci   */
124461847f8eSopenharmony_ci  /**
124561847f8eSopenharmony_ci   * Called when scrolling has stopped.
124661847f8eSopenharmony_ci   *
124761847f8eSopenharmony_ci   * @param { function } event
124861847f8eSopenharmony_ci   * @returns { ScrollAttribute }
124961847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
125061847f8eSopenharmony_ci   * @crossplatform
125161847f8eSopenharmony_ci   * @since 10
125261847f8eSopenharmony_ci   */
125361847f8eSopenharmony_ci  /**
125461847f8eSopenharmony_ci   * Called when scrolling has stopped.
125561847f8eSopenharmony_ci   *
125661847f8eSopenharmony_ci   * @param { function } event
125761847f8eSopenharmony_ci   * @returns { ScrollAttribute }
125861847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
125961847f8eSopenharmony_ci   * @crossplatform
126061847f8eSopenharmony_ci   * @atomicservice
126161847f8eSopenharmony_ci   * @since 11
126261847f8eSopenharmony_ci   */
126361847f8eSopenharmony_ci  /**
126461847f8eSopenharmony_ci   * Called when scrolling has stopped.
126561847f8eSopenharmony_ci   *
126661847f8eSopenharmony_ci   * @param { VoidCallback } event
126761847f8eSopenharmony_ci   * @returns { ScrollAttribute }
126861847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
126961847f8eSopenharmony_ci   * @crossplatform
127061847f8eSopenharmony_ci   * @atomicservice
127161847f8eSopenharmony_ci   * @since 13
127261847f8eSopenharmony_ci   */
127361847f8eSopenharmony_ci  onScrollStop(event: VoidCallback): ScrollAttribute;
127461847f8eSopenharmony_ci
127561847f8eSopenharmony_ci  /**
127661847f8eSopenharmony_ci   * Called when the status of the scroll bar is set.
127761847f8eSopenharmony_ci   *
127861847f8eSopenharmony_ci   * @param { BarState } barState
127961847f8eSopenharmony_ci   * @returns { ScrollAttribute }
128061847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
128161847f8eSopenharmony_ci   * @since 7
128261847f8eSopenharmony_ci   */
128361847f8eSopenharmony_ci  /**
128461847f8eSopenharmony_ci   * Called when the status of the scroll bar is set.
128561847f8eSopenharmony_ci   *
128661847f8eSopenharmony_ci   * @param { BarState } barState
128761847f8eSopenharmony_ci   * @returns { ScrollAttribute }
128861847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
128961847f8eSopenharmony_ci   * @crossplatform
129061847f8eSopenharmony_ci   * @since 10
129161847f8eSopenharmony_ci   */
129261847f8eSopenharmony_ci  /**
129361847f8eSopenharmony_ci   * Called when the status of the scroll bar is set.
129461847f8eSopenharmony_ci   *
129561847f8eSopenharmony_ci   * @param { BarState } barState
129661847f8eSopenharmony_ci   * @returns { ScrollAttribute }
129761847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
129861847f8eSopenharmony_ci   * @crossplatform
129961847f8eSopenharmony_ci   * @atomicservice
130061847f8eSopenharmony_ci   * @since 11
130161847f8eSopenharmony_ci   */
130261847f8eSopenharmony_ci  scrollBar(barState: BarState): ScrollAttribute;
130361847f8eSopenharmony_ci
130461847f8eSopenharmony_ci  /**
130561847f8eSopenharmony_ci   * Called when the color of the scroll bar is set.
130661847f8eSopenharmony_ci   *
130761847f8eSopenharmony_ci   * @param { Color | number | string } color
130861847f8eSopenharmony_ci   * @returns { ScrollAttribute }
130961847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
131061847f8eSopenharmony_ci   * @since 7
131161847f8eSopenharmony_ci   */
131261847f8eSopenharmony_ci  /**
131361847f8eSopenharmony_ci   * Called when the color of the scroll bar is set.
131461847f8eSopenharmony_ci   *
131561847f8eSopenharmony_ci   * @param { Color | number | string } color
131661847f8eSopenharmony_ci   * @returns { ScrollAttribute }
131761847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
131861847f8eSopenharmony_ci   * @crossplatform
131961847f8eSopenharmony_ci   * @since 10
132061847f8eSopenharmony_ci   */
132161847f8eSopenharmony_ci  /**
132261847f8eSopenharmony_ci   * Called when the color of the scroll bar is set.
132361847f8eSopenharmony_ci   *
132461847f8eSopenharmony_ci   * @param { Color | number | string } color
132561847f8eSopenharmony_ci   * @returns { ScrollAttribute }
132661847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
132761847f8eSopenharmony_ci   * @crossplatform
132861847f8eSopenharmony_ci   * @atomicservice
132961847f8eSopenharmony_ci   * @since 11
133061847f8eSopenharmony_ci   */
133161847f8eSopenharmony_ci  scrollBarColor(color: Color | number | string): ScrollAttribute;
133261847f8eSopenharmony_ci
133361847f8eSopenharmony_ci  /**
133461847f8eSopenharmony_ci   * Called when the width of the scroll bar is set.
133561847f8eSopenharmony_ci   *
133661847f8eSopenharmony_ci   * @param { number | string } value
133761847f8eSopenharmony_ci   * @returns { ScrollAttribute }
133861847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
133961847f8eSopenharmony_ci   * @since 7
134061847f8eSopenharmony_ci   */
134161847f8eSopenharmony_ci  /**
134261847f8eSopenharmony_ci   * Called when the width of the scroll bar is set.
134361847f8eSopenharmony_ci   *
134461847f8eSopenharmony_ci   * @param { number | string } value
134561847f8eSopenharmony_ci   * @returns { ScrollAttribute }
134661847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
134761847f8eSopenharmony_ci   * @crossplatform
134861847f8eSopenharmony_ci   * @since 10
134961847f8eSopenharmony_ci   */
135061847f8eSopenharmony_ci  /**
135161847f8eSopenharmony_ci   * Called when the width of the scroll bar is set.
135261847f8eSopenharmony_ci   *
135361847f8eSopenharmony_ci   * @param { number | string } value
135461847f8eSopenharmony_ci   * @returns { ScrollAttribute }
135561847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
135661847f8eSopenharmony_ci   * @crossplatform
135761847f8eSopenharmony_ci   * @atomicservice
135861847f8eSopenharmony_ci   * @since 11
135961847f8eSopenharmony_ci   */
136061847f8eSopenharmony_ci  scrollBarWidth(value: number | string): ScrollAttribute;
136161847f8eSopenharmony_ci
136261847f8eSopenharmony_ci  /**
136361847f8eSopenharmony_ci   * Called when the sliding effect is set.
136461847f8eSopenharmony_ci   *
136561847f8eSopenharmony_ci   * @param { EdgeEffect } edgeEffect
136661847f8eSopenharmony_ci   * @returns { ScrollAttribute }
136761847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
136861847f8eSopenharmony_ci   * @since 7
136961847f8eSopenharmony_ci   */
137061847f8eSopenharmony_ci  /**
137161847f8eSopenharmony_ci   * Called when the sliding effect is set.
137261847f8eSopenharmony_ci   *
137361847f8eSopenharmony_ci   * @param { EdgeEffect } edgeEffect
137461847f8eSopenharmony_ci   * @returns { ScrollAttribute }
137561847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
137661847f8eSopenharmony_ci   * @crossplatform
137761847f8eSopenharmony_ci   * @since 10
137861847f8eSopenharmony_ci   */
137961847f8eSopenharmony_ci  /**
138061847f8eSopenharmony_ci   * Called when the sliding effect is set.
138161847f8eSopenharmony_ci   *
138261847f8eSopenharmony_ci   * @param { EdgeEffect } edgeEffect
138361847f8eSopenharmony_ci   * @param { EdgeEffectOptions } options
138461847f8eSopenharmony_ci   * @returns { ScrollAttribute }
138561847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
138661847f8eSopenharmony_ci   * @crossplatform
138761847f8eSopenharmony_ci   * @atomicservice
138861847f8eSopenharmony_ci   * @since 11
138961847f8eSopenharmony_ci   */
139061847f8eSopenharmony_ci  edgeEffect(edgeEffect: EdgeEffect, options?: EdgeEffectOptions): ScrollAttribute;
139161847f8eSopenharmony_ci
139261847f8eSopenharmony_ci  /**
139361847f8eSopenharmony_ci   * Called when scrolling begin each frame.
139461847f8eSopenharmony_ci   *
139561847f8eSopenharmony_ci   * @param { function } event
139661847f8eSopenharmony_ci   * @returns { ScrollAttribute }
139761847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
139861847f8eSopenharmony_ci   * @since 9
139961847f8eSopenharmony_ci   */
140061847f8eSopenharmony_ci  /**
140161847f8eSopenharmony_ci   * Called when scrolling begin each frame.
140261847f8eSopenharmony_ci   *
140361847f8eSopenharmony_ci   * @param { function } event
140461847f8eSopenharmony_ci   * @returns { ScrollAttribute }
140561847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
140661847f8eSopenharmony_ci   * @crossplatform
140761847f8eSopenharmony_ci   * @since 10
140861847f8eSopenharmony_ci   */
140961847f8eSopenharmony_ci  /**
141061847f8eSopenharmony_ci   * Called when scrolling begin each frame.
141161847f8eSopenharmony_ci   *
141261847f8eSopenharmony_ci   * @param { function } event
141361847f8eSopenharmony_ci   * @returns { ScrollAttribute }
141461847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
141561847f8eSopenharmony_ci   * @crossplatform
141661847f8eSopenharmony_ci   * @atomicservice
141761847f8eSopenharmony_ci   * @since 11
141861847f8eSopenharmony_ci   */
141961847f8eSopenharmony_ci  /**
142061847f8eSopenharmony_ci   * Called when scrolling begin each frame.
142161847f8eSopenharmony_ci   *
142261847f8eSopenharmony_ci   * @param { OnScrollFrameBeginCallback } event
142361847f8eSopenharmony_ci   * @returns { ScrollAttribute }
142461847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
142561847f8eSopenharmony_ci   * @crossplatform
142661847f8eSopenharmony_ci   * @atomicservice
142761847f8eSopenharmony_ci   * @since 13
142861847f8eSopenharmony_ci   */
142961847f8eSopenharmony_ci  onScrollFrameBegin(event: OnScrollFrameBeginCallback): ScrollAttribute;
143061847f8eSopenharmony_ci
143161847f8eSopenharmony_ci  /**
143261847f8eSopenharmony_ci   * Called to setting the nested scroll options.
143361847f8eSopenharmony_ci   *
143461847f8eSopenharmony_ci   * @param { NestedScrollOptions } value - options for nested scrolling.
143561847f8eSopenharmony_ci   * @returns { ScrollAttribute } the attribute of the scroll.
143661847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
143761847f8eSopenharmony_ci   * @since 10
143861847f8eSopenharmony_ci   */
143961847f8eSopenharmony_ci  /**
144061847f8eSopenharmony_ci   * Called to setting the nested scroll options.
144161847f8eSopenharmony_ci   *
144261847f8eSopenharmony_ci   * @param { NestedScrollOptions } value - options for nested scrolling.
144361847f8eSopenharmony_ci   * @returns { ScrollAttribute } the attribute of the scroll.
144461847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
144561847f8eSopenharmony_ci   * @crossplatform
144661847f8eSopenharmony_ci   * @atomicservice
144761847f8eSopenharmony_ci   * @since 11
144861847f8eSopenharmony_ci   */
144961847f8eSopenharmony_ci  nestedScroll(value: NestedScrollOptions): ScrollAttribute;
145061847f8eSopenharmony_ci
145161847f8eSopenharmony_ci  /**
145261847f8eSopenharmony_ci   * Called when setting whether to enable scroll by gesture or mouse.
145361847f8eSopenharmony_ci   *
145461847f8eSopenharmony_ci   * @param { boolean } value
145561847f8eSopenharmony_ci   * @returns { ScrollAttribute } The attribute of the scroll
145661847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
145761847f8eSopenharmony_ci   * @crossplatform
145861847f8eSopenharmony_ci   * @since 10
145961847f8eSopenharmony_ci   */
146061847f8eSopenharmony_ci  /**
146161847f8eSopenharmony_ci   * Called when setting whether to enable scroll by gesture or mouse.
146261847f8eSopenharmony_ci   *
146361847f8eSopenharmony_ci   * @param { boolean } value
146461847f8eSopenharmony_ci   * @returns { ScrollAttribute } The attribute of the scroll
146561847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
146661847f8eSopenharmony_ci   * @crossplatform
146761847f8eSopenharmony_ci   * @atomicservice
146861847f8eSopenharmony_ci   * @since 11
146961847f8eSopenharmony_ci   */
147061847f8eSopenharmony_ci  enableScrollInteraction(value: boolean): ScrollAttribute;
147161847f8eSopenharmony_ci
147261847f8eSopenharmony_ci  /**
147361847f8eSopenharmony_ci   * Called to setting the friction.
147461847f8eSopenharmony_ci   *
147561847f8eSopenharmony_ci   * @param { number | Resource } value - options for scrolling friction.
147661847f8eSopenharmony_ci   * @returns { ScrollAttribute } the attribute of the scroll.
147761847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
147861847f8eSopenharmony_ci   * @crossplatform
147961847f8eSopenharmony_ci   * @since 10
148061847f8eSopenharmony_ci   */
148161847f8eSopenharmony_ci  /**
148261847f8eSopenharmony_ci   * Called to setting the friction.
148361847f8eSopenharmony_ci   *
148461847f8eSopenharmony_ci   * @param { number | Resource } value - options for scrolling friction.
148561847f8eSopenharmony_ci   * @returns { ScrollAttribute } the attribute of the scroll.
148661847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
148761847f8eSopenharmony_ci   * @crossplatform
148861847f8eSopenharmony_ci   * @atomicservice
148961847f8eSopenharmony_ci   * @since 11
149061847f8eSopenharmony_ci   */
149161847f8eSopenharmony_ci  friction(value: number | Resource): ScrollAttribute;
149261847f8eSopenharmony_ci
149361847f8eSopenharmony_ci  /**
149461847f8eSopenharmony_ci   * Called to setting the scroll snap options.
149561847f8eSopenharmony_ci   *
149661847f8eSopenharmony_ci   * @param { ScrollSnapOptions } value - options for scroll snap.
149761847f8eSopenharmony_ci   * @returns { ScrollAttribute } the attribute of the scroll.
149861847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
149961847f8eSopenharmony_ci   * @since 10
150061847f8eSopenharmony_ci   */
150161847f8eSopenharmony_ci  /**
150261847f8eSopenharmony_ci   * Called to setting the scroll snap options.
150361847f8eSopenharmony_ci   *
150461847f8eSopenharmony_ci   * @param { ScrollSnapOptions } value - options for scroll snap.
150561847f8eSopenharmony_ci   * @returns { ScrollAttribute } the attribute of the scroll.
150661847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
150761847f8eSopenharmony_ci   * @atomicservice
150861847f8eSopenharmony_ci   * @since 11
150961847f8eSopenharmony_ci   */
151061847f8eSopenharmony_ci  scrollSnap(value: ScrollSnapOptions): ScrollAttribute;
151161847f8eSopenharmony_ci
151261847f8eSopenharmony_ci  /**
151361847f8eSopenharmony_ci   * Determines whether the scroll view stops on multiples of the content size when the user scrolls.
151461847f8eSopenharmony_ci   *
151561847f8eSopenharmony_ci   * @param { boolean } value - A boolean value determines whether paging is enabled for scroll.
151661847f8eSopenharmony_ci   * @returns { ScrollAttribute } the attribute of the scroll.
151761847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
151861847f8eSopenharmony_ci   * @crossplatform
151961847f8eSopenharmony_ci   * @since 11
152061847f8eSopenharmony_ci   */
152161847f8eSopenharmony_ci  /**
152261847f8eSopenharmony_ci   * Determines whether the scroll view stops on multiples of the content size when the user scrolls.
152361847f8eSopenharmony_ci   *
152461847f8eSopenharmony_ci   * @param { boolean } value - A boolean value determines whether paging is enabled for scroll.
152561847f8eSopenharmony_ci   * @returns { ScrollAttribute } the attribute of the scroll.
152661847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
152761847f8eSopenharmony_ci   * @crossplatform
152861847f8eSopenharmony_ci   * @atomicservice
152961847f8eSopenharmony_ci   * @since 12
153061847f8eSopenharmony_ci   */
153161847f8eSopenharmony_ci  enablePaging(value: boolean): ScrollAttribute;
153261847f8eSopenharmony_ci  
153361847f8eSopenharmony_ci  /**
153461847f8eSopenharmony_ci   * Called to setting the initial offset
153561847f8eSopenharmony_ci   *
153661847f8eSopenharmony_ci   * @param { OffsetOptions } value - options for scroll initial offset.
153761847f8eSopenharmony_ci   * @returns { ScrollAttribute } the attribute of the scroll.
153861847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
153961847f8eSopenharmony_ci   * @crossplatform
154061847f8eSopenharmony_ci   * @atomicservice
154161847f8eSopenharmony_ci   * @since 12
154261847f8eSopenharmony_ci   */
154361847f8eSopenharmony_ci  initialOffset(value: OffsetOptions): ScrollAttribute;
154461847f8eSopenharmony_ci}
154561847f8eSopenharmony_ci
154661847f8eSopenharmony_ci/**
154761847f8eSopenharmony_ci * callback of Scroll, using in onDidScroll.
154861847f8eSopenharmony_ci * 
154961847f8eSopenharmony_ci * @typedef { function } ScrollOnScrollCallback
155061847f8eSopenharmony_ci * @param { number } xOffset - horizontal offset this frame did scroll.
155161847f8eSopenharmony_ci * @param { number } yOffset - vertical offset this frame did scroll.
155261847f8eSopenharmony_ci * @param { ScrollState } scrollState - current scroll state.
155361847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
155461847f8eSopenharmony_ci * @crossplatform
155561847f8eSopenharmony_ci * @atomicservice
155661847f8eSopenharmony_ci * @since 12
155761847f8eSopenharmony_ci */
155861847f8eSopenharmony_cideclare type ScrollOnScrollCallback = (xOffset: number, yOffset: number, scrollState: ScrollState) => void;
155961847f8eSopenharmony_ci
156061847f8eSopenharmony_ci/**
156161847f8eSopenharmony_ci  * Called before scroll to allow developer to control real offset the Scroll can scroll.
156261847f8eSopenharmony_ci  *
156361847f8eSopenharmony_ci  * @typedef { function } ScrollOnWillScrollCallback
156461847f8eSopenharmony_ci  * @param { number } xOffset - horizontal offset this frame will scroll, which may or may not be reached.
156561847f8eSopenharmony_ci  * @param { number } yOffset - vertical offset this frame will scroll, which may or may not be reached.
156661847f8eSopenharmony_ci  * @param { ScrollState } scrollState - current scroll state.
156761847f8eSopenharmony_ci  * @param { ScrollSource } scrollSource - source of current scroll.
156861847f8eSopenharmony_ci  * @returns { void | OffsetResult } the remain offset for the Scroll, 
156961847f8eSopenharmony_ci  *     same as (xOffset, yOffset) when no OffsetResult is returned.
157061847f8eSopenharmony_ci  * @syscap SystemCapability.ArkUI.ArkUI.Full
157161847f8eSopenharmony_ci  * @crossplatform
157261847f8eSopenharmony_ci  * @atomicservice
157361847f8eSopenharmony_ci  * @since 12
157461847f8eSopenharmony_ci  */
157561847f8eSopenharmony_cideclare type ScrollOnWillScrollCallback =
157661847f8eSopenharmony_ci (xOffset: number, yOffset: number, scrollState: ScrollState, scrollSource: ScrollSource) => void | OffsetResult;
157761847f8eSopenharmony_ci
157861847f8eSopenharmony_ci/**
157961847f8eSopenharmony_ci * Defines Scroll Component.
158061847f8eSopenharmony_ci *
158161847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
158261847f8eSopenharmony_ci * @since 7
158361847f8eSopenharmony_ci */
158461847f8eSopenharmony_ci/**
158561847f8eSopenharmony_ci * Defines Scroll Component.
158661847f8eSopenharmony_ci *
158761847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
158861847f8eSopenharmony_ci * @crossplatform
158961847f8eSopenharmony_ci * @since 10
159061847f8eSopenharmony_ci */
159161847f8eSopenharmony_ci/**
159261847f8eSopenharmony_ci * Defines Scroll Component.
159361847f8eSopenharmony_ci *
159461847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
159561847f8eSopenharmony_ci * @crossplatform
159661847f8eSopenharmony_ci * @atomicservice
159761847f8eSopenharmony_ci * @since 11
159861847f8eSopenharmony_ci */
159961847f8eSopenharmony_cideclare const Scroll: ScrollInterface;
160061847f8eSopenharmony_ci
160161847f8eSopenharmony_ci/**
160261847f8eSopenharmony_ci * Defines Scroll Component instance.
160361847f8eSopenharmony_ci *
160461847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
160561847f8eSopenharmony_ci * @since 7
160661847f8eSopenharmony_ci */
160761847f8eSopenharmony_ci/**
160861847f8eSopenharmony_ci * Defines Scroll Component instance.
160961847f8eSopenharmony_ci *
161061847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
161161847f8eSopenharmony_ci * @crossplatform
161261847f8eSopenharmony_ci * @since 10
161361847f8eSopenharmony_ci */
161461847f8eSopenharmony_ci/**
161561847f8eSopenharmony_ci * Defines Scroll Component instance.
161661847f8eSopenharmony_ci *
161761847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
161861847f8eSopenharmony_ci * @crossplatform
161961847f8eSopenharmony_ci * @atomicservice
162061847f8eSopenharmony_ci * @since 11
162161847f8eSopenharmony_ci */
162261847f8eSopenharmony_cideclare const ScrollInstance: ScrollAttribute;
1623