• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (c) 2021-2025 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 *     http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16/**
17 * @file
18 * @kit ArkUI
19 */
20
21/*** if arkts 1.2 */
22import { BackgroundBlurStyleOptions, BackgroundEffectOptions, BlurStyle, Callback, CommonMethod, Optional, TranslateOptions, DividerStyle } from './common';
23import { EdgeEffect, PageFlipMode } from './enums';
24import { Dimension, Length, ResourceColor } from './units';
25import { CommonModifier } from "../CommonModifier";
26/*** endif */
27
28/**
29 * CommonModifier
30 *
31 * @typedef { import('../api/arkui/CommonModifier').CommonModifier } CommonModifier
32 * @syscap SystemCapability.ArkUI.ArkUI.Full
33 * @crossplatform
34 * @atomicservice
35 * @since 15
36 */
37declare type CommonModifier = import('../api/arkui/CommonModifier').CommonModifier;
38
39/**
40 * Declare the graphic format of the bar chart.
41 *
42 * @enum { number }
43 * @syscap SystemCapability.ArkUI.ArkUI.Full
44 * @since 7
45 */
46/**
47 * Declare the graphic format of the bar chart.
48 *
49 * @enum { number }
50 * @syscap SystemCapability.ArkUI.ArkUI.Full
51 * @crossplatform
52 * @since 10
53 */
54/**
55 * Declare the graphic format of the bar chart.
56 *
57 * @enum { number }
58 * @syscap SystemCapability.ArkUI.ArkUI.Full
59 * @crossplatform
60 * @atomicservice
61 * @since arkts {'1.1':'11','1.2':'20'}
62 * @arkts 1.1&1.2
63 */
64declare enum BarMode {
65  /**
66   * The actual layout width of the TabBar is used. If the width exceeds the total width, you can slide the tabbar.
67   *
68   * @syscap SystemCapability.ArkUI.ArkUI.Full
69   * @since 7
70   */
71  /**
72   * The actual layout width of the TabBar is used. If the width exceeds the total width, you can slide the tabbar.
73   *
74   * @syscap SystemCapability.ArkUI.ArkUI.Full
75   * @crossplatform
76   * @since 10
77   */
78  /**
79   * The width of each tab is determined by the actual layout. The tabs are scrollable in the following case:
80   * In horizontal layout, the total width exceeds the tab bar width; in vertical layout,
81   * the total height exceeds the tab bar height.
82   *
83   * @syscap SystemCapability.ArkUI.ArkUI.Full
84   * @crossplatform
85   * @atomicservice
86   * @since arkts {'1.1':'11','1.2':'20'}
87   * @arkts 1.1&1.2
88   */
89  Scrollable = 0,
90
91  /**
92   * The width of all TabBars is evenly allocated.
93   *
94   * @syscap SystemCapability.ArkUI.ArkUI.Full
95   * @since 7
96   */
97  /**
98   * The width of all TabBars is evenly allocated.
99   *
100   * @syscap SystemCapability.ArkUI.ArkUI.Full
101   * @crossplatform
102   * @since 10
103   */
104  /**
105   * The width of each tab is determined by equally dividing the number of tabs by the bar width
106   * (or bar height in the vertical layout).
107   *
108   * @syscap SystemCapability.ArkUI.ArkUI.Full
109   * @crossplatform
110   * @atomicservice
111   * @since arkts {'1.1':'11','1.2':'20'}
112   * @arkts 1.1&1.2
113   */
114  Fixed = 1,
115}
116
117/**
118 * Declare the animation mode of tab content.
119 *
120 * @enum { number }
121 * @syscap SystemCapability.ArkUI.ArkUI.Full
122 * @crossplatform
123 * @atomicservice
124 * @since arkts {'1.1':'12','1.2':'20'}
125 * @arkts 1.1&1.2
126 */
127declare enum AnimationMode {
128  /**
129   * Load the content of the target page before starting the switching animation.
130   *
131   * @syscap SystemCapability.ArkUI.ArkUI.Full
132   * @crossplatform
133   * @atomicservice
134   * @since arkts {'1.1':'12','1.2':'20'}
135   * @arkts 1.1&1.2
136   */
137  CONTENT_FIRST = 0,
138
139  /**
140   * Start the switching animation before loading the content of the target page.
141   *
142   * @syscap SystemCapability.ArkUI.ArkUI.Full
143   * @crossplatform
144   * @atomicservice
145   * @since arkts {'1.1':'12','1.2':'20'}
146   * @arkts 1.1&1.2
147   */
148  ACTION_FIRST = 1,
149
150  /**
151   * Disable the default switching animation.
152   *
153   * @syscap SystemCapability.ArkUI.ArkUI.Full
154   * @crossplatform
155   * @atomicservice
156   * @since arkts {'1.1':'12','1.2':'20'}
157   * @arkts 1.1&1.2
158   */
159  NO_ANIMATION = 2,
160
161  /**
162   * Load the content of the target page first, then jump to the vicinity of the target page without animation,
163   * and finally jump to the target page with animation.
164   *
165   * @syscap SystemCapability.ArkUI.ArkUI.Full
166   * @crossplatform
167   * @atomicservice
168   * @since arkts {'1.1':'15','1.2':'20'}
169   * @arkts 1.1&1.2
170   */
171  CONTENT_FIRST_WITH_JUMP = 3,
172
173  /**
174   * Jump to the vicinity of the target page without animation first,
175   * then jump to the target page with animation, and finally load the content of the target page.
176   *
177   * @syscap SystemCapability.ArkUI.ArkUI.Full
178   * @crossplatform
179   * @atomicservice
180   * @since arkts {'1.1':'15','1.2':'20'}
181   * @arkts 1.1&1.2
182   */
183  ACTION_FIRST_WITH_JUMP = 4,
184}
185
186/**
187 * Declare the location of the bar chart.
188 *
189 * @enum { number }
190 * @syscap SystemCapability.ArkUI.ArkUI.Full
191 * @since 7
192 */
193/**
194 * Declare the location of the bar chart.
195 *
196 * @enum { number }
197 * @syscap SystemCapability.ArkUI.ArkUI.Full
198 * @crossplatform
199 * @since 10
200 */
201/**
202 * Declare the location of the bar chart.
203 *
204 * @enum { number }
205 * @syscap SystemCapability.ArkUI.ArkUI.Full
206 * @crossplatform
207 * @atomicservice
208 * @since arkts {'1.1':'11','1.2':'20'}
209 * @arkts 1.1&1.2
210 */
211declare enum BarPosition {
212  /**
213   * When the vertical attribute method is set to true, the tab is on the left of the container. When the vertical property method is set to false, the tab is at the top of the container.
214   *
215   * @syscap SystemCapability.ArkUI.ArkUI.Full
216   * @since 7
217   */
218  /**
219   * When the vertical attribute method is set to true, the tab is on the left of the container. When the vertical property method is set to false, the tab is at the top of the container.
220   *
221   * @syscap SystemCapability.ArkUI.ArkUI.Full
222   * @crossplatform
223   * @since 10
224   */
225  /**
226   * When the vertical attribute method is set to true, the tab is on the left of the container. When the vertical property method is set to false, the tab is at the top of the container.
227   *
228   * @syscap SystemCapability.ArkUI.ArkUI.Full
229   * @crossplatform
230   * @atomicservice
231   * @since arkts {'1.1':'11','1.2':'20'}
232   * @arkts 1.1&1.2
233   */
234  Start,
235
236  /**
237   * When the vertical attribute method is set to true, the tab is located on the right of the container. When the vertical property method is set to false, the tab is at the bottom of the container.
238   *
239   * @syscap SystemCapability.ArkUI.ArkUI.Full
240   * @since 7
241   */
242  /**
243   * When the vertical attribute method is set to true, the tab is located on the right of the container. When the vertical property method is set to false, the tab is at the bottom of the container.
244   *
245   * @syscap SystemCapability.ArkUI.ArkUI.Full
246   * @crossplatform
247   * @since 10
248   */
249  /**
250   * When the vertical attribute method is set to true, the tab is located on the right of the container. When the vertical property method is set to false, the tab is at the bottom of the container.
251   *
252   * @syscap SystemCapability.ArkUI.ArkUI.Full
253   * @crossplatform
254   * @atomicservice
255   * @since arkts {'1.1':'11','1.2':'20'}
256   * @arkts 1.1&1.2
257   */
258  End,
259}
260
261/**
262 * Declare the layout style of the tab bar items.
263 *
264 * @enum { number }
265 * @syscap SystemCapability.ArkUI.ArkUI.Full
266 * @crossplatform
267 * @since 10
268 */
269/**
270 * Declare the layout style of the tab bar items.
271 *
272 * @enum { number }
273 * @syscap SystemCapability.ArkUI.ArkUI.Full
274 * @crossplatform
275 * @atomicservice
276 * @since arkts {'1.1':'11','1.2':'20'}
277 * @arkts 1.1&1.2
278 */
279declare enum LayoutStyle {
280  /**
281   * The tab bar items are laid in the center of the tab bar.
282   *
283   * @syscap SystemCapability.ArkUI.ArkUI.Full
284   * @crossplatform
285   * @since 10
286   */
287  /**
288   * If the tab content exceeds the tab bar width, the tabs are scrollable.
289   * If not, the tabs are compactly centered on the tab bar and not scrollable.
290   *
291   * @syscap SystemCapability.ArkUI.ArkUI.Full
292   * @crossplatform
293   * @atomicservice
294   * @since arkts {'1.1':'11','1.2':'20'}
295   * @arkts 1.1&1.2
296   */
297  ALWAYS_CENTER = 0,
298  /**
299   * The tab bar items are laid in the tab bar by an average split.
300   *
301   * @syscap SystemCapability.ArkUI.ArkUI.Full
302   * @crossplatform
303   * @since 10
304   */
305  /**
306   * If the tab content exceeds the tab bar width, the tabs are scrollable.
307   * If not, the tabs are not scrollable, and the width of the tab bar is evenly distributed among all tabs.
308   *
309   * @syscap SystemCapability.ArkUI.ArkUI.Full
310   * @crossplatform
311   * @atomicservice
312   * @since arkts {'1.1':'11','1.2':'20'}
313   * @arkts 1.1&1.2
314   */
315  ALWAYS_AVERAGE_SPLIT = 1,
316  /**
317   * The tab bar items are laid in the center of the bar when their total length is more than half of the tab bar.
318   * Otherwise, they are laid in the center half of the tab bar with the same space between them.
319   *
320   * @syscap SystemCapability.ArkUI.ArkUI.Full
321   * @crossplatform
322   * @since 10
323   */
324  /**
325   * If the tab content exceeds the tab bar width, the tabs are scrollable. If the tab content exceeds
326   * half the width of the tab bar but is still within the tab bar width, the tabs are compactly centered and
327   * not scrollable.If the tab content does not exceed half the width of the tab bar, the tabs are centered within
328   * half the width of the tab bar with even spacing between them and are not scrollable.
329   *
330   * @syscap SystemCapability.ArkUI.ArkUI.Full
331   * @crossplatform
332   * @atomicservice
333   * @since arkts {'1.1':'11','1.2':'20'}
334   * @arkts 1.1&1.2
335   */
336  SPACE_BETWEEN_OR_CENTER = 2
337}
338
339/**
340 * Declare the cache mode of the child components.
341 *
342 * @enum { number }
343 * @syscap SystemCapability.ArkUI.ArkUI.Full
344 * @crossplatform
345 * @atomicservice
346 * @since arkts {'1.1':'19','1.2':'20'}
347 * @arkts 1.1&1.2
348 */
349declare enum TabsCacheMode {
350  /**
351   * Caches the child components on both sides of the current child components.
352   *
353   * @syscap SystemCapability.ArkUI.ArkUI.Full
354   * @crossplatform
355   * @atomicservice
356   * @since arkts {'1.1':'19','1.2':'20'}
357   * @arkts 1.1&1.2
358   */
359  CACHE_BOTH_SIDE = 0,
360
361  /**
362   * Caches the latest switched child components.
363   *
364   * @syscap SystemCapability.ArkUI.ArkUI.Full
365   * @crossplatform
366   * @atomicservice
367   * @since arkts {'1.1':'19','1.2':'20'}
368   * @arkts 1.1&1.2
369   */
370  CACHE_LATEST_SWITCHED = 1
371}
372
373/**
374 * Provides methods for switching tabs.
375 *
376 * @syscap SystemCapability.ArkUI.ArkUI.Full
377 * @since 7
378 */
379/**
380 * Provides methods for switching tabs.
381 *
382 * @syscap SystemCapability.ArkUI.ArkUI.Full
383 * @crossplatform
384 * @since 10
385 */
386/**
387 * Provides methods for switching tabs.
388 *
389 * @syscap SystemCapability.ArkUI.ArkUI.Full
390 * @crossplatform
391 * @atomicservice
392 * @since arkts {'1.1':'11','1.2':'20'}
393 * @arkts 1.1&1.2
394 */
395declare class TabsController {
396  /**
397   * constructor.
398   *
399   * @syscap SystemCapability.ArkUI.ArkUI.Full
400   * @since 7
401   */
402  /**
403   * constructor.
404   *
405   * @syscap SystemCapability.ArkUI.ArkUI.Full
406   * @crossplatform
407   * @since 10
408   */
409  /**
410   * constructor.
411   *
412   * @syscap SystemCapability.ArkUI.ArkUI.Full
413   * @crossplatform
414   * @atomicservice
415   * @since arkts {'1.1':'11','1.2':'20'}
416   * @arkts 1.1&1.2
417   */
418  constructor();
419
420  /**
421   * Called when the tab is switched.
422   *
423   * @param { number } value
424   * @syscap SystemCapability.ArkUI.ArkUI.Full
425   * @since 7
426   */
427  /**
428   * Called when the tab is switched.
429   *
430   * @param { number } value
431   * @syscap SystemCapability.ArkUI.ArkUI.Full
432   * @crossplatform
433   * @since 10
434   */
435  /**
436   * Switches to the specified tab.
437   *
438   * @param { number } value - Index of the tab. If this parameter is set to a value less than 0
439   * or greater than the maximum number, the default value 0 is used.
440   * @syscap SystemCapability.ArkUI.ArkUI.Full
441   * @crossplatform
442   * @atomicservice
443   * @since arkts {'1.1':'11','1.2':'20'}
444   * @arkts 1.1&1.2
445   */
446  changeIndex(value: number): void;
447
448  /**
449   * Called when need to preload specified tab content.
450   *
451   * @param { Optional<Array<number>> } indices - Indices of tab content to be preloaded, default to an empty array.
452   * @returns { Promise<void> } The promise returned by the function.
453   * @throws { BusinessError } 401 - Parameter invalid. Possible causes:
454   * <br> 1. The parameter type is not Array<number>.
455   * <br> 2. The parameter is an empty array.
456   * <br> 3. The parameter contains an invalid index.
457   * @syscap SystemCapability.ArkUI.ArkUI.Full
458   * @crossplatform
459   * @atomicservice
460   * @since arkts {'1.1':'12','1.2':'20'}
461   * @arkts 1.1&1.2
462   */
463  preloadItems(indices: Optional<Array<number>>): Promise<void>;
464
465  /**
466   * Set tab bar translate.
467   *
468   * @param { TranslateOptions } translate - translate options
469   * @syscap SystemCapability.ArkUI.ArkUI.Full
470   * @crossplatform
471   * @atomicservice
472   * @since arkts {'1.1':'13','1.2':'20'}
473   * @arkts 1.1&1.2
474   */
475  setTabBarTranslate(translate: TranslateOptions): void;
476
477  /**
478   * Set tab bar opacity.
479   *
480   * @param { number } opacity - opacity, default to 1.0
481   * @syscap SystemCapability.ArkUI.ArkUI.Full
482   * @crossplatform
483   * @atomicservice
484   * @since arkts {'1.1':'13','1.2':'20'}
485   * @arkts 1.1&1.2
486   */
487  setTabBarOpacity(opacity: number): void;
488}
489
490/**
491 * Options used to create Tabs.
492 *
493 * @typedef TabsOptions
494 * @syscap SystemCapability.ArkUI.ArkUI.Full
495 * @crossplatform
496 * @atomicservice
497 * @since arkts {'1.1':'15','1.2':'20'}
498 * @arkts 1.1&1.2
499 */
500declare interface TabsOptions {
501  /**
502   * Set the tab location for Tabs.
503   *
504   * @type { ?BarPosition }
505   * @syscap SystemCapability.ArkUI.ArkUI.Full
506   * @since 7
507   */
508  /**
509   * Set the tab location for Tabs.
510   *
511   * @type { ?BarPosition }
512   * @syscap SystemCapability.ArkUI.ArkUI.Full
513   * @crossplatform
514   * @since 10
515   */
516  /**
517   * Set the tab location for Tabs.
518   *
519   * @type { ?BarPosition }
520   * @default BarPosition.Start
521   * @syscap SystemCapability.ArkUI.ArkUI.Full
522   * @crossplatform
523   * @atomicservice
524   * @since arkts {'1.1':'11','1.2':'20'}
525   * @arkts 1.1&1.2
526   */
527  barPosition?: BarPosition;
528
529  /**
530   * Set the index of the currently displayed tab.
531   *
532   * @type { ?number }
533   * @syscap SystemCapability.ArkUI.ArkUI.Full
534   * @since 7
535   */
536  /**
537   * Set the index of the currently displayed tab.
538   *
539   * @type { ?number }
540   * @syscap SystemCapability.ArkUI.ArkUI.Full
541   * @crossplatform
542   * @since 10
543   */
544  /**
545   * Set the index of the currently displayed tab.
546   *
547   * @type { ?number }
548   * @default 0
549   * @syscap SystemCapability.ArkUI.ArkUI.Full
550   * @crossplatform
551   * @atomicservice
552   * @since arkts {'1.1':'11','1.2':'20'}
553   * @arkts 1.1&1.2
554   */
555  index?: number;
556
557  /**
558   * Set the Tabs controller.
559   *
560   * @type { ?TabsController }
561   * @syscap SystemCapability.ArkUI.ArkUI.Full
562   * @since 7
563   */
564  /**
565   * Set the Tabs controller.
566   *
567   * @type { ?TabsController }
568   * @syscap SystemCapability.ArkUI.ArkUI.Full
569   * @crossplatform
570   * @since 10
571   */
572  /**
573   * Set the Tabs controller.
574   *
575   * @type { ?TabsController }
576   * @syscap SystemCapability.ArkUI.ArkUI.Full
577   * @crossplatform
578   * @atomicservice
579   * @since arkts {'1.1':'11','1.2':'20'}
580   * @arkts 1.1&1.2
581   */
582  controller?: TabsController
583
584  /**
585   * Set common attributes to tabbar.
586   *
587   * @type { ?CommonModifier }
588   * @syscap SystemCapability.ArkUI.ArkUI.Full
589   * @crossplatform
590   * @atomicservice
591   * @since arkts {'1.1':'15','1.2':'20'}
592   * @arkts 1.1&1.2
593   */
594  barModifier?: CommonModifier
595}
596
597/**
598 * Provides an interface for switching views.
599 *
600 * @interface TabsInterface
601 * @syscap SystemCapability.ArkUI.ArkUI.Full
602 * @since 7
603 */
604/**
605 * Provides an interface for switching views.
606 *
607 * @interface TabsInterface
608 * @syscap SystemCapability.ArkUI.ArkUI.Full
609 * @crossplatform
610 * @since 10
611 */
612/**
613 * Provides an interface for switching views.
614 *
615 * @interface TabsInterface
616 * @syscap SystemCapability.ArkUI.ArkUI.Full
617 * @crossplatform
618 * @atomicservice
619 * @since arkts {'1.1':'11','1.2':'20'}
620 * @arkts 1.1&1.2
621 */
622interface TabsInterface {
623  /**
624   * Called when the view is switched.
625   *
626   * @param { object } value
627   * @returns { TabsAttribute }
628   * @syscap SystemCapability.ArkUI.ArkUI.Full
629   * @since 7
630   */
631  /**
632   * Called when the view is switched.
633   *
634   * @param { object } value
635   * @returns { TabsAttribute }
636   * @syscap SystemCapability.ArkUI.ArkUI.Full
637   * @crossplatform
638   * @since 10
639   */
640  /**
641   * Called when the view is switched.
642   *
643   * @param { object } value
644   * @returns { TabsAttribute }
645   * @syscap SystemCapability.ArkUI.ArkUI.Full
646   * @crossplatform
647   * @atomicservice
648   * @since 11
649   */
650  /**
651   * Called when the view is switched.
652   *
653   * @param { TabsOptions } [options] - Tabs options.
654   * @returns { TabsAttribute }
655   * @syscap SystemCapability.ArkUI.ArkUI.Full
656   * @crossplatform
657   * @atomicservice
658   * @since arkts {'1.1':'15','1.2':'20'}
659   * @arkts 1.1&1.2
660   */
661  (options?: TabsOptions): TabsAttribute;
662}
663
664/**
665 * Provides an interface for the style of an divider including stroke width, color, start margin
666 * and end margin
667 *
668 * @interface DividerStyle
669 * @syscap SystemCapability.ArkUI.ArkUI.Full
670 * @crossplatform
671 * @since 10
672 */
673/**
674 * Provides an interface for the style of an divider including stroke width, color, start margin
675 * and end margin
676 *
677 * @interface DividerStyle
678 * @syscap SystemCapability.ArkUI.ArkUI.Full
679 * @crossplatform
680 * @atomicservice
681 * @since 11
682 */
683interface DividerStyle {
684  /**
685   * Define the stroke width of the divider
686   *
687   * @type { Length }
688   * @default 0
689   * @syscap SystemCapability.ArkUI.ArkUI.Full
690   * @crossplatform
691   * @since 10
692   */
693  /**
694   * Width of the divider. It cannot be set in percentage.
695   *
696   * @type { Length }
697   * @default 0vp
698   * @syscap SystemCapability.ArkUI.ArkUI.Full
699   * @crossplatform
700   * @atomicservice
701   * @since 11
702   */
703  strokeWidth: Length;
704
705  /**
706   * Define the color of the divider
707   *
708   * @type { ?ResourceColor }
709   * @syscap SystemCapability.ArkUI.ArkUI.Full
710   * @crossplatform
711   * @since 10
712   */
713  /**
714   * Color of the divider.
715   *
716   * @type { ?ResourceColor }
717   * @default #33182431
718   * @syscap SystemCapability.ArkUI.ArkUI.Full
719   * @crossplatform
720   * @atomicservice
721   * @since 11
722   */
723  color?: ResourceColor;
724
725  /**
726   * Define the start margin of the divider
727   *
728   * @type { ?Length }
729   * @default 0
730   * @syscap SystemCapability.ArkUI.ArkUI.Full
731   * @crossplatform
732   * @since 10
733   */
734  /**
735   * Distance between the divider and the top of the sidebar. It cannot be set in percentage.
736   *
737   * @type { ?Length }
738   * @default 0vp
739   * @syscap SystemCapability.ArkUI.ArkUI.Full
740   * @crossplatform
741   * @atomicservice
742   * @since 11
743   */
744  startMargin?: Length;
745
746  /**
747   * Define the end margin of the divider
748   *
749   * @type { ?Length }
750   * @default 0
751   * @syscap SystemCapability.ArkUI.ArkUI.Full
752   * @crossplatform
753   * @since 10
754   */
755  /**
756   * Distance between the divider and the bottom of the sidebar. It cannot be set in percentage.
757   *
758   * @type { ?Length }
759   * @default 0vp
760   * @syscap SystemCapability.ArkUI.ArkUI.Full
761   * @crossplatform
762   * @atomicservice
763   * @since 11
764   */
765  endMargin?: Length;
766}
767
768/**
769 * Provides an interface for tabs animation.
770 *
771 * @interface TabsAnimationEvent
772 * @syscap SystemCapability.ArkUI.ArkUI.Full
773 * @crossplatform
774 * @since 11
775 */
776/**
777 * Provides an interface for tabs animation.
778 *
779 * @interface TabsAnimationEvent
780 * @syscap SystemCapability.ArkUI.ArkUI.Full
781 * @crossplatform
782 * @atomicservice
783 * @since arkts {'1.1':'12','1.2':'20'}
784 * @arkts 1.1&1.2
785 */
786declare interface TabsAnimationEvent {
787  /**
788   * Offset of the current page to the start position of the tabs main axis. The unit is vp.
789   *
790   * @type { number }
791   * @default 0.0 vp
792   * @syscap SystemCapability.ArkUI.ArkUI.Full
793   * @crossplatform
794   * @since 11
795   */
796  /**
797   * Offset of the current page to the start position of the tabs main axis. The unit is vp.
798   *
799   * @type { number }
800   * @default 0.0 vp
801   * @syscap SystemCapability.ArkUI.ArkUI.Full
802   * @crossplatform
803   * @atomicservice
804   * @since arkts {'1.1':'12','1.2':'20'}
805   * @arkts 1.1&1.2
806   */
807  currentOffset: number;
808
809  /**
810   * Offset of the target page to the start position of the tabs main axis. The unit is vp.
811   *
812   * @type { number }
813   * @default 0.0 vp
814   * @syscap SystemCapability.ArkUI.ArkUI.Full
815   * @crossplatform
816   * @since 11
817   */
818  /**
819   * Offset of the target page to the start position of the tabs main axis. The unit is vp.
820   *
821   * @type { number }
822   * @default 0.0 vp
823   * @syscap SystemCapability.ArkUI.ArkUI.Full
824   * @crossplatform
825   * @atomicservice
826   * @since arkts {'1.1':'12','1.2':'20'}
827   * @arkts 1.1&1.2
828   */
829  targetOffset: number;
830
831  /**
832   * Start speed of the page-turning animation. The unit is vp/s.
833   *
834   * @type { number }
835   * @default 0.0 vp/s
836   * @syscap SystemCapability.ArkUI.ArkUI.Full
837   * @crossplatform
838   * @since 11
839   */
840  /**
841   * Start speed of the page-turning animation. The unit is vp/s.
842   *
843   * @type { number }
844   * @default 0.0 vp/s
845   * @syscap SystemCapability.ArkUI.ArkUI.Full
846   * @crossplatform
847   * @atomicservice
848   * @since arkts {'1.1':'12','1.2':'20'}
849   * @arkts 1.1&1.2
850   */
851  velocity: number;
852}
853
854/**
855 * Provides an interface for the grid column options of an tab bar including sm, md, lg, margin and gutter.
856 *
857 * @interface BarGridColumnOptions
858 * @syscap SystemCapability.ArkUI.ArkUI.Full
859 * @crossplatform
860 * @since 10
861 */
862/**
863 * Provides an interface for the grid column options of an tab bar including sm, md, lg, margin and gutter.
864 *
865 * @interface BarGridColumnOptions
866 * @syscap SystemCapability.ArkUI.ArkUI.Full
867 * @crossplatform
868 * @atomicservice
869 * @since arkts {'1.1':'11','1.2':'20'}
870 * @arkts 1.1&1.2
871 */
872interface BarGridColumnOptions {
873  /**
874   * Define the occupied column number when the screen is of small size
875   *
876   * @type { ?number }
877   * @syscap SystemCapability.ArkUI.ArkUI.Full
878   * @crossplatform
879   * @since 10
880   */
881  /**
882   * Number of columns occupied by a tab on a screen whose width is
883   * greater than or equal to 320 vp but less than 600 vp. The value must be a non-negative even number.
884   *
885   * @type { ?number }
886   * @default -1
887   * @syscap SystemCapability.ArkUI.ArkUI.Full
888   * @crossplatform
889   * @atomicservice
890   * @since arkts {'1.1':'11','1.2':'20'}
891   * @arkts 1.1&1.2
892   */
893  sm?: number;
894
895  /**
896   * Define the occupied column number when the screen is of middle size
897   *
898   * @type { ?number }
899   * @syscap SystemCapability.ArkUI.ArkUI.Full
900   * @crossplatform
901   * @since 10
902   */
903  /**
904   * Number of columns occupied by a tab on a screen whose width is
905   * greater than or equal to 600 vp but less than 800 vp. The value must be a non-negative even number.
906   *
907   * @type { ?number }
908   * @default -1
909   * @syscap SystemCapability.ArkUI.ArkUI.Full
910   * @crossplatform
911   * @atomicservice
912   * @since arkts {'1.1':'11','1.2':'20'}
913   * @arkts 1.1&1.2
914   */
915  md?: number;
916
917  /**
918   * Define the occupied column number when the screen is of large size
919   *
920   * @type { ?number }
921   * @syscap SystemCapability.ArkUI.ArkUI.Full
922   * @crossplatform
923   * @since 10
924   */
925  /**
926   * Number of columns occupied by a tab on a screen whose width is
927   * greater than or equal to 840 vp but less than 1024 vp. The value must be a non-negative even number.
928   *
929   * @type { ?number }
930   * @default -1
931   * @syscap SystemCapability.ArkUI.ArkUI.Full
932   * @crossplatform
933   * @atomicservice
934   * @since arkts {'1.1':'11','1.2':'20'}
935   * @arkts 1.1&1.2
936   */
937  lg?: number;
938
939  /**
940   * Define the margin size of the columns
941   *
942   * @type { ?Dimension }
943   * @syscap SystemCapability.ArkUI.ArkUI.Full
944   * @crossplatform
945   * @since 10
946   */
947  /**
948   * Column margin in grid mode. It cannot be set in percentage.
949   *
950   * @type { ?Dimension }
951   * @default 24vp
952   * @syscap SystemCapability.ArkUI.ArkUI.Full
953   * @crossplatform
954   * @atomicservice
955   * @since arkts {'1.1':'11','1.2':'20'}
956   * @arkts 1.1&1.2
957   */
958  margin?: Dimension;
959
960  /**
961   * Define the gutter size of the columns
962   *
963   * @type { ?Dimension }
964   * @syscap SystemCapability.ArkUI.ArkUI.Full
965   * @crossplatform
966   * @since 10
967   */
968  /**
969   * Column gutter (that is, gap between columns) in grid mode. It cannot be set in percentage.
970   *
971   * @type { ?Dimension }
972   * @default 24vp
973   * @syscap SystemCapability.ArkUI.ArkUI.Full
974   * @crossplatform
975   * @atomicservice
976   * @since arkts {'1.1':'11','1.2':'20'}
977   * @arkts 1.1&1.2
978   */
979  gutter?: Dimension;
980}
981
982/**
983 * Provides an interface for the options for the scrollable bar mode including margin and nonScrollableLayoutStyle.
984 *
985 * @interface ScrollableBarModeOptions
986 * @syscap SystemCapability.ArkUI.ArkUI.Full
987 * @crossplatform
988 * @since 10
989 */
990/**
991 * Provides an interface for the options for the scrollable bar mode including margin and nonScrollableLayoutStyle.
992 *
993 * @interface ScrollableBarModeOptions
994 * @syscap SystemCapability.ArkUI.ArkUI.Full
995 * @crossplatform
996 * @atomicservice
997 * @since arkts {'1.1':'11','1.2':'20'}
998 * @arkts 1.1&1.2
999 */
1000interface ScrollableBarModeOptions {
1001  /**
1002   * Define the margin size of the bar items when the tab bar is scrollable.
1003   *
1004   * @type { ?Dimension }
1005   * @syscap SystemCapability.ArkUI.ArkUI.Full
1006   * @crossplatform
1007   * @since 10
1008   */
1009  /**
1010   * Left and right margin of the tab bar in scrollable mode. It cannot be set in percentage.
1011   *
1012   * @type { ?Dimension }
1013   * @default 0vp
1014   * @syscap SystemCapability.ArkUI.ArkUI.Full
1015   * @crossplatform
1016   * @atomicservice
1017   * @since arkts {'1.1':'11','1.2':'20'}
1018   * @arkts 1.1&1.2
1019   */
1020  margin?: Dimension;
1021
1022  /**
1023   * Define the layout style of the bar items when the tab bar is not scrollable.
1024   *
1025   * @type { ?LayoutStyle }
1026   * @syscap SystemCapability.ArkUI.ArkUI.Full
1027   * @crossplatform
1028   * @since 10
1029   */
1030  /**
1031   * Tab layout mode of the tab bar when not scrolling in scrollable mode.
1032   *
1033   * @type { ?LayoutStyle }
1034   * @default LayoutStyle.ALWAYS_CENTER
1035   * @syscap SystemCapability.ArkUI.ArkUI.Full
1036   * @crossplatform
1037   * @atomicservice
1038   * @since arkts {'1.1':'11','1.2':'20'}
1039   * @arkts 1.1&1.2
1040   */
1041  nonScrollableLayoutStyle?: LayoutStyle;
1042}
1043
1044/**
1045 * Defines a tabs callback when onAnimationStart.
1046 *
1047 * @typedef { function } OnTabsAnimationStartCallback
1048 * @param { number } index - The index value of the tab that when animation start.
1049 * @param { number } targetIndex - The target index value of the tab that when animation start.
1050 * @param { TabsAnimationEvent } extraInfo - The extra callback info.
1051 * @syscap SystemCapability.ArkUI.ArkUI.Full
1052 * @crossplatform
1053 * @atomicservice
1054 * @since arkts {'1.1':'18','1.2':'20'}
1055 * @arkts 1.1&1.2
1056 */
1057declare type OnTabsAnimationStartCallback = (index: number, targetIndex: number, extraInfo: TabsAnimationEvent) => void;
1058
1059/**
1060 * Defines a tabs callback when onAnimationEnd.
1061 *
1062 * @typedef { function } OnTabsAnimationEndCallback
1063 * @param { number } index - The index value of the tab that when animation end.
1064 * @param { TabsAnimationEvent } extraInfo - The extra callback info.
1065 * @syscap SystemCapability.ArkUI.ArkUI.Full
1066 * @crossplatform
1067 * @atomicservice
1068 * @since arkts {'1.1':'18','1.2':'20'}
1069 * @arkts 1.1&1.2
1070 */
1071declare type OnTabsAnimationEndCallback = (index: number, extraInfo: TabsAnimationEvent) => void;
1072
1073/**
1074 * Defines a tabs callback when onGestureSwipe.
1075 *
1076 * @typedef { function } OnTabsGestureSwipeCallback
1077 * @param { number } index - The index value of the tab before gesture swipe.
1078 * @param { TabsAnimationEvent } extraInfo - The extra callback info.
1079 * @syscap SystemCapability.ArkUI.ArkUI.Full
1080 * @crossplatform
1081 * @atomicservice
1082 * @since arkts {'1.1':'18','1.2':'20'}
1083 * @arkts 1.1&1.2
1084 */
1085declare type OnTabsGestureSwipeCallback = (index: number, extraInfo: TabsAnimationEvent) => void;
1086
1087/**
1088 * Defines a tabs callback when customContentTransition.
1089 *
1090 * @typedef { function } TabsCustomContentTransitionCallback
1091 * @param { number } from - The index value of the current tab when the animation begins.
1092 * @param { number } to - The index value of the target tab when the animation begins.
1093 * @returns { TabContentAnimatedTransition | undefined } Returns animated transition options of tab or undefined.
1094 * @syscap SystemCapability.ArkUI.ArkUI.Full
1095 * @crossplatform
1096 * @atomicservice
1097 * @since arkts {'1.1':'18','1.2':'20'}
1098 * @arkts 1.1&1.2
1099 */
1100declare type TabsCustomContentTransitionCallback = (from: number, to: number) => TabContentAnimatedTransition | undefined;
1101
1102/**
1103 * Defines a tabs callback when onContentWillChange.
1104 *
1105 * @typedef { function } OnTabsContentWillChangeCallback
1106 * @param { number } currentIndex - The index value of the current tab.
1107 * @param { number } comingIndex - The index value of the tab that will change.
1108 * @returns { boolean }
1109 * Tabs can change from currentIndex to comingIndex if function return true.
1110 * Tabs can not change from currentIndex to comingIndex if function return false.
1111 * @syscap SystemCapability.ArkUI.ArkUI.Full
1112 * @crossplatform
1113 * @atomicservice
1114 * @since arkts {'1.1':'18','1.2':'20'}
1115 * @arkts 1.1&1.2
1116 */
1117declare type OnTabsContentWillChangeCallback = (currentIndex: number, comingIndex: number) => boolean;
1118
1119/**
1120 * Defines the tabs attribute functions.
1121 *
1122 * @extends CommonMethod<TabsAttribute>
1123 * @syscap SystemCapability.ArkUI.ArkUI.Full
1124 * @since 7
1125 */
1126/**
1127 * Defines the tabs attribute functions.
1128 *
1129 * @extends CommonMethod<TabsAttribute>
1130 * @syscap SystemCapability.ArkUI.ArkUI.Full
1131 * @crossplatform
1132 * @since 10
1133 */
1134/**
1135 * Defines the tabs attribute functions.
1136 *
1137 * @extends CommonMethod<TabsAttribute>
1138 * @syscap SystemCapability.ArkUI.ArkUI.Full
1139 * @crossplatform
1140 * @atomicservice
1141 * @since arkts {'1.1':'11','1.2':'20'}
1142 * @arkts 1.1&1.2
1143 */
1144declare class TabsAttribute extends CommonMethod<TabsAttribute> {
1145  /**
1146   * Called when determining whether the tab is vertical.
1147   *
1148   * @param { boolean } value
1149   * @returns { TabsAttribute }
1150   * @syscap SystemCapability.ArkUI.ArkUI.Full
1151   * @since 7
1152   */
1153  /**
1154   * Called when determining whether the tab is vertical.
1155   *
1156   * @param { boolean } value
1157   * @returns { TabsAttribute }
1158   * @syscap SystemCapability.ArkUI.ArkUI.Full
1159   * @crossplatform
1160   * @since 10
1161   */
1162  /**
1163   * Sets whether to use vertical tabs.
1164   *
1165   * @param { boolean } value - Whether to use vertical tabs. Default value is false.
1166   * @returns { TabsAttribute }
1167   * @syscap SystemCapability.ArkUI.ArkUI.Full
1168   * @crossplatform
1169   * @atomicservice
1170   * @since arkts {'1.1':'11','1.2':'20'}
1171   * @arkts 1.1&1.2
1172   */
1173  vertical(value: boolean): TabsAttribute;
1174
1175  /**
1176   * Called when determining the location of the bar chart.
1177   *
1178   * @param { BarPosition } value
1179   * @returns { TabsAttribute }
1180   * @syscap SystemCapability.ArkUI.ArkUI.Full
1181   * @since 9
1182   */
1183  /**
1184   * Called when determining the location of the bar chart.
1185   *
1186   * @param { BarPosition } value
1187   * @returns { TabsAttribute }
1188   * @syscap SystemCapability.ArkUI.ArkUI.Full
1189   * @crossplatform
1190   * @since 10
1191   */
1192  /**
1193   * Sets the position of the Tabs component.
1194   *
1195   * @param { BarPosition } value - Position of the Tabs component. Default value is BarPosition.Start.
1196   * @returns { TabsAttribute }
1197   * @syscap SystemCapability.ArkUI.ArkUI.Full
1198   * @crossplatform
1199   * @atomicservice
1200   * @since arkts {'1.1':'11','1.2':'20'}
1201   * @arkts 1.1&1.2
1202   */
1203  barPosition(value: BarPosition): TabsAttribute;
1204
1205  /**
1206   * Called when judging whether page switching can be performed by sliding left and right.
1207   *
1208   * @param { boolean } value
1209   * @returns { TabsAttribute }
1210   * @syscap SystemCapability.ArkUI.ArkUI.Full
1211   * @since 7
1212   */
1213  /**
1214   * Called when judging whether page switching can be performed by sliding left and right.
1215   *
1216   * @param { boolean } value
1217   * @returns { TabsAttribute }
1218   * @syscap SystemCapability.ArkUI.ArkUI.Full
1219   * @crossplatform
1220   * @since 10
1221   */
1222  /**
1223   * Sets whether the tabs are scrollable.
1224   *
1225   * @param { boolean } value - Whether the tabs are scrollable. Default value is true.
1226   * @returns { TabsAttribute }
1227   * @syscap SystemCapability.ArkUI.ArkUI.Full
1228   * @crossplatform
1229   * @atomicservice
1230   * @since arkts {'1.1':'11','1.2':'20'}
1231   * @arkts 1.1&1.2
1232   */
1233  scrollable(value: boolean): TabsAttribute;
1234
1235  /**
1236   * Called when the graphic format of the bar chart is selected as fixed mode.
1237   *
1238   * @param { BarMode.Fixed } value
1239   * @returns { TabsAttribute }
1240   * @syscap SystemCapability.ArkUI.ArkUI.Full
1241   * @crossplatform
1242   * @since 10
1243   */
1244  /**
1245   * Sets the tab bar layout mode to BarMode.Fixed.
1246   *
1247   * @param { BarMode.Fixed } value - The width of each tab is determined by equally dividing
1248   * the number of tabs by the bar width (or bar height in the vertical layout).
1249   * @returns { TabsAttribute }
1250   * @syscap SystemCapability.ArkUI.ArkUI.Full
1251   * @crossplatform
1252   * @atomicservice
1253   * @since 11
1254   */
1255  barMode(value: BarMode.Fixed): TabsAttribute;
1256
1257  /**
1258   * Called when the graphic format of the bar chart is selected as scrollable mode.
1259   *
1260   * @param { BarMode.Scrollable } value
1261   * @param { ScrollableBarModeOptions } [options] - options indicate the options for the scrollable bar mode
1262   * @returns { TabsAttribute }
1263   * @syscap SystemCapability.ArkUI.ArkUI.Full
1264   * @crossplatform
1265   * @since 10
1266   */
1267  /**
1268   * Sets the tab bar layout mode to BarMode.Scrollable.
1269   *
1270   * @param { BarMode.Scrollable } value - The width of each tab is determined by the actual layout.
1271   * The tabs are scrollable in the following case: In horizontal layout, the total width exceeds the tab bar width;
1272   * in vertical layout, the total height exceeds the tab bar height.
1273   * @param { ScrollableBarModeOptions } [options] - Layout style of the tab bar in scrollable mode.
1274   * This parameter is effective only when the tab bar is in scrollable mode.
1275   * @returns { TabsAttribute }
1276   * @syscap SystemCapability.ArkUI.ArkUI.Full
1277   * @crossplatform
1278   * @atomicservice
1279   * @since 11
1280   */
1281  barMode(value: BarMode.Scrollable, options: ScrollableBarModeOptions): TabsAttribute;
1282
1283  /**
1284   * Called when the graphic format of the bar chart is selected.
1285   *
1286   * @param { BarMode } value
1287   * @returns { TabsAttribute }
1288   * @syscap SystemCapability.ArkUI.ArkUI.Full
1289   * @since 7
1290   */
1291  /**
1292   * Called when the graphic format of the bar chart is selected.
1293   *
1294   * @param { BarMode } value
1295   * @param { ScrollableBarModeOptions } [options] - options indicate the options for the scrollable bar mode
1296   * @returns { TabsAttribute }
1297   * @syscap SystemCapability.ArkUI.ArkUI.Full
1298   * @crossplatform
1299   * @since 10
1300   */
1301  /**
1302   * Sets the tab bar layout mode.
1303   *
1304   * @param { BarMode } value - Layout mode. Default value is BarMode.Fixed.
1305   * @param { ScrollableBarModeOptions } [options] - Layout style of the tab bar in scrollable mode.
1306   * This parameter is effective only when the tab bar is in horizontal scrollable mode.
1307   * @returns { TabsAttribute }
1308   * @syscap SystemCapability.ArkUI.ArkUI.Full
1309   * @crossplatform
1310   * @atomicservice
1311   * @since arkts {'1.1':'11','1.2':'20'}
1312   * @arkts 1.1&1.2
1313   */
1314  barMode(value: BarMode, options?: ScrollableBarModeOptions): TabsAttribute;
1315
1316  /**
1317   * Called when the width of the bar graph is set.
1318   * Notice: barWidth only supports Number type.
1319   *
1320   * @param { number } value
1321   * @returns { TabsAttribute }
1322   * @syscap SystemCapability.ArkUI.ArkUI.Full
1323   * @since 7
1324   */
1325  /**
1326   * Called when the width of the bar graph is set.
1327   * Notice: barWidth only supports Number type on 7, supports Length type since 8.
1328   *
1329   * @param { Length } value
1330   * @returns { TabsAttribute }
1331   * @syscap SystemCapability.ArkUI.ArkUI.Full
1332   * @since 8
1333   */
1334  /**
1335   * Called when the width of the bar graph is set.
1336   * Notice: barWidth only supports Number type on 7, supports Length type since 8.
1337   *
1338   * @param { Length } value
1339   * @returns { TabsAttribute }
1340   * @syscap SystemCapability.ArkUI.ArkUI.Full
1341   * @crossplatform
1342   * @since 10
1343   */
1344  /**
1345   * Sets the width of the tab bar.
1346   * Notice: barWidth only supports Number type on 7, supports Length type since 8.
1347   *
1348   * @param { Length } value - Width of the tab bar. If the set value is less than 0
1349   * or greater than the width of the Tabs component, the default value is used.
1350   * @returns { TabsAttribute }
1351   * @syscap SystemCapability.ArkUI.ArkUI.Full
1352   * @crossplatform
1353   * @atomicservice
1354   * @since arkts {'1.1':'11','1.2':'20'}
1355   * @arkts 1.1&1.2
1356   */
1357  barWidth(value: Length): TabsAttribute;
1358
1359  /**
1360   * Called when the height of the bar graph is set.
1361   * Notice: barHeight only supports Number type.
1362   *
1363   * @param { number } value
1364   * @returns { TabsAttribute }
1365   * @syscap SystemCapability.ArkUI.ArkUI.Full
1366   * @since 7
1367   */
1368  /**
1369   * Called when the height of the bar graph is set.
1370   * Notice: barHeight only supports Number type on 7, supports Length type since 8.
1371   *
1372   * @param { Length } value
1373   * @returns { TabsAttribute }
1374   * @syscap SystemCapability.ArkUI.ArkUI.Full
1375   * @since 8
1376   */
1377  /**
1378   * Called when the height of the bar graph is set.
1379   * Notice: barHeight only supports Number type on 7, supports Length type since 8.
1380   *
1381   * @param { Length } value
1382   * @returns { TabsAttribute }
1383   * @syscap SystemCapability.ArkUI.ArkUI.Full
1384   * @crossplatform
1385   * @since 10
1386   */
1387  /**
1388   * Sets the height of the tab bar.
1389   * Notice: barHeight only supports Number type on 7, supports Length type since 8.
1390   *
1391   * @param { Length } value - Height of the tab bar. If the set value is less than 0 or
1392   * greater than the height of the Tabs component, the default value is used.
1393   * @returns { TabsAttribute }
1394   * @syscap SystemCapability.ArkUI.ArkUI.Full
1395   * @crossplatform
1396   * @atomicservice
1397   * @since arkts {'1.1':'11','1.2':'20'}
1398   * @arkts 1.1&1.2
1399   */
1400  barHeight(value: Length): TabsAttribute;
1401
1402    /**
1403   * Called when the height of the bar graph is set.
1404   * Notice: barHeight only supports Number type on 7, supports Length type since 8.
1405   *
1406   * @param { Length } height - the height of the tabBar.
1407   * @param { boolean } noMinHeightLimit - indicates whether there is a minimum limit on the height of the tabBar
1408   * when height is set to auto, default value is false.
1409   * @returns { TabsAttribute }
1410   * @syscap SystemCapability.ArkUI.ArkUI.Full
1411   * @crossplatform
1412   * @atomicservice
1413   * @since 20
1414   */
1415    barHeight(height: Length, noMinHeightLimit: boolean): TabsAttribute;
1416
1417  /**
1418   * Sets the animation curve
1419   *
1420   * @param { Curve | ICurve } curve - animation curve for tabs switch animation,
1421   *     Curve is an enumeration type for common curves, ICurve is a curve object.
1422   * Default value:
1423   * When pages are turned by swiping in TabContent, the default value is
1424   * interpolatingSpring(-1, 1, 228, 30).
1425   * When pages are turned by tapping tabs or calling the changeIndex API of TabsController,
1426   * the default value is cubicBezierCurve(0.2, 0.0, 0.1, 1.0).
1427   * @returns { TabsAttribute }
1428   * @syscap SystemCapability.ArkUI.ArkUI.Full
1429   * @crossplatform
1430   * @atomicservice
1431   * @since 20
1432   */
1433   animationCurve(curve: Curve | ICurve): TabsAttribute;
1434
1435  /**
1436   * Called when the animation duration of the bar graph is set.
1437   *
1438   * @param { number } value
1439   * @returns { TabsAttribute }
1440   * @syscap SystemCapability.ArkUI.ArkUI.Full
1441   * @since 7
1442   */
1443  /**
1444   * Called when the animation duration of the bar graph is set.
1445   *
1446   * @param { number } value - default value:
1447   *                           When this property is not set or set to null, the default value is 0.
1448   *                           When set to a value less than 0 or undefined, the default value is 300.
1449   * @returns { TabsAttribute }
1450   * @syscap SystemCapability.ArkUI.ArkUI.Full
1451   * @crossplatform
1452   * @since 10
1453   */
1454  /**
1455   * Sets the length of time required to complete the tab switching animation,
1456   * which is initiated by clicking a specific tab or by calling the changeIndex API of TabsController.
1457   *
1458   * @param { number } value - default value:
1459   *                           When this property is not set or set to null, the default value is 0.
1460   *                           When set to a value less than 0 or undefined, the default value is 300.
1461   * @returns { TabsAttribute }
1462   * @syscap SystemCapability.ArkUI.ArkUI.Full
1463   * @crossplatform
1464   * @atomicservice
1465   * @since arkts {'1.1':'11','1.2':'20'}
1466   * @arkts 1.1&1.2
1467   */
1468  animationDuration(value: number): TabsAttribute;
1469
1470  /**
1471   * Sets the animation mode for tab switching initiated by clicking a specific tab or
1472   * by calling the changeIndex API of TabsController.
1473   *
1474   * @param { Optional<AnimationMode> } mode - animation mode for tabs switch animation.
1475   * Default value is AnimationMode.CONTENT_FIRST.
1476   * @returns { TabsAttribute }
1477   * @syscap SystemCapability.ArkUI.ArkUI.Full
1478   * @crossplatform
1479   * @atomicservice
1480   * @since arkts {'1.1':'12','1.2':'20'}
1481   * @arkts 1.1&1.2
1482   */
1483  animationMode(mode: Optional<AnimationMode>): TabsAttribute;
1484
1485  /**
1486   * Sets the edge effect used when the boundary of the scrolling area is reached.
1487   *
1488   * @param { Optional<EdgeEffect> } edgeEffect - Effect used when the boundary of the scrolling area is reached.
1489   * Default value is EdgeEffect.Spring.
1490   * @returns { TabsAttribute }
1491   * @syscap SystemCapability.ArkUI.ArkUI.Full
1492   * @crossplatform
1493   * @atomicservice
1494   * @since arkts {'1.1':'12','1.2':'20'}
1495   * @arkts 1.1&1.2
1496   */
1497  edgeEffect(edgeEffect: Optional<EdgeEffect>): TabsAttribute;
1498
1499  /**
1500   * Called when the tab is switched.
1501   *
1502   * @param { function } event
1503   * @returns { TabsAttribute }
1504   * @syscap SystemCapability.ArkUI.ArkUI.Full
1505   * @since 7
1506   */
1507  /**
1508   * Called when the tab is switched.
1509   *
1510   * @param { function } event
1511   * @returns { TabsAttribute }
1512   * @syscap SystemCapability.ArkUI.ArkUI.Full
1513   * @crossplatform
1514   * @since 10
1515   */
1516  /**
1517   * Called when the tab is switched.
1518   *
1519   * @param { function } event
1520   * @returns { TabsAttribute }
1521   * @syscap SystemCapability.ArkUI.ArkUI.Full
1522   * @crossplatform
1523   * @atomicservice
1524   * @since 11
1525   */
1526  /**
1527   * Triggered when a tab is switched.
1528   * Anonymous Object Rectification
1529   *
1530   * <p><strong>NOTE</strong>:
1531   * <br>This event is triggered when any of the following conditions is met:
1532   * 1. The swiping animation is completed, followed by tab switching.
1533   * 2. The Controller API is called.
1534   * 3. The attribute value is updated using a state variable.
1535   * 4. A tab is clicked.
1536   * </p>
1537   *
1538   * @param { Callback<number> } event
1539   * @returns { TabsAttribute }
1540   * @syscap SystemCapability.ArkUI.ArkUI.Full
1541   * @crossplatform
1542   * @atomicservice
1543   * @since arkts {'1.1':'18','1.2':'20'}
1544   * @arkts 1.1&1.2
1545   */
1546  onChange(event: Callback<number>): TabsAttribute;
1547
1548  /**
1549   * Called when a new tab becomes selected. Animation is not necessarily complete.
1550   *
1551   * @param { Callback<number> } event - callback to notify which index has been selected
1552   * @returns { TabsAttribute }
1553   * @syscap SystemCapability.ArkUI.ArkUI.Full
1554   * @crossplatform
1555   * @atomicservice
1556   * @since arkts {'1.1':'18','1.2':'20'}
1557   * @arkts 1.1&1.2
1558   */
1559  onSelected(event: Callback<number>): TabsAttribute;
1560
1561  /**
1562   * Called when the tab is clicked.
1563   *
1564   * @param { function } event
1565   * @returns { TabsAttribute }
1566   * @syscap SystemCapability.ArkUI.ArkUI.Full
1567   * @crossplatform
1568   * @since 10
1569   */
1570  /**
1571   * Called when the tab is clicked.
1572   *
1573   * @param { function } event
1574   * @returns { TabsAttribute }
1575   * @syscap SystemCapability.ArkUI.ArkUI.Full
1576   * @crossplatform
1577   * @atomicservice
1578   * @since 11
1579   */
1580  /**
1581   * Triggered when a tab is clicked.
1582   * Anonymous Object Rectification
1583   *
1584   * @param { Callback<number> } event
1585   * @returns { TabsAttribute }
1586   * @syscap SystemCapability.ArkUI.ArkUI.Full
1587   * @crossplatform
1588   * @atomicservice
1589   * @since arkts {'1.1':'18','1.2':'20'}
1590   * @arkts 1.1&1.2
1591   */
1592  onTabBarClick(event: Callback<number>): TabsAttribute;
1593
1594  /**
1595   * Called when a new tab becomes unselected. Animation is not necessarily complete.
1596   *
1597   * @param { Callback<number> } event - callback to notify which index has been unselected
1598   * @returns { TabsAttribute }
1599   * @syscap SystemCapability.ArkUI.ArkUI.Full
1600   * @crossplatform
1601   * @atomicservice
1602   * @since arkts {'1.1':'18','1.2':'20'}
1603   * @arkts 1.1&1.2
1604   */
1605  onUnselected(event: Callback<number>): TabsAttribute;
1606
1607  /**
1608   * Called when the tab content flip animation start.
1609   *
1610   * @param { function } handler -
1611   * "index": the index value of the tab that when animation start.
1612   * "targetIndex": the target index value of the tab that when animation start.
1613   * "event": the animation event callback info.
1614   * @returns { TabsAttribute }
1615   * @syscap SystemCapability.ArkUI.ArkUI.Full
1616   * @crossplatform
1617   * @since 11
1618   */
1619  /**
1620   * Called when the tab content flip animation start.
1621   *
1622   * @param { function } handler -
1623   * "index": the index value of the tab that when animation start.
1624   * "targetIndex": the target index value of the tab that when animation start.
1625   * "event": the animation event callback info.
1626   * @returns { TabsAttribute }
1627   * @syscap SystemCapability.ArkUI.ArkUI.Full
1628   * @crossplatform
1629   * @atomicservice
1630   * @since 12
1631   */
1632  /**
1633   * Triggered when the tab switching animation starts.
1634   * Anonymous Object Rectification
1635   *
1636   * @param { OnTabsAnimationStartCallback } handler
1637   * @returns { TabsAttribute }
1638   * @syscap SystemCapability.ArkUI.ArkUI.Full
1639   * @crossplatform
1640   * @atomicservice
1641   * @since arkts {'1.1':'18','1.2':'20'}
1642   * @arkts 1.1&1.2
1643   */
1644  onAnimationStart(handler: OnTabsAnimationStartCallback): TabsAttribute;
1645
1646  /**
1647   * Called when the tab content flip animation end.
1648   *
1649   * @param { function } handler -
1650   * "index": the index value of the tab that when animation start.
1651   * "event": the animation event callback info.
1652   * @returns { TabsAttribute }
1653   * @syscap SystemCapability.ArkUI.ArkUI.Full
1654   * @crossplatform
1655   * @since 11
1656   */
1657  /**
1658   * Called when the tab content flip animation end.
1659   *
1660   * @param { function } handler -
1661   * "index": the index value of the tab that when animation start.
1662   * "event": the animation event callback info.
1663   * @returns { TabsAttribute }
1664   * @syscap SystemCapability.ArkUI.ArkUI.Full
1665   * @crossplatform
1666   * @atomicservice
1667   * @since 12
1668   */
1669  /**
1670   * Triggered when the tab switching animation ends.
1671   * Anonymous Object Rectification
1672   *
1673   * @param { OnTabsAnimationEndCallback } handler
1674   * @returns { TabsAttribute }
1675   * @syscap SystemCapability.ArkUI.ArkUI.Full
1676   * @crossplatform
1677   * @atomicservice
1678   * @since arkts {'1.1':'18','1.2':'20'}
1679   * @arkts 1.1&1.2
1680   */
1681  onAnimationEnd(handler: OnTabsAnimationEndCallback): TabsAttribute;
1682
1683  /**
1684   * Called when swiping the tab content with the gesture.
1685   *
1686   * @param { function } handler -
1687   * "index": the index value of the tab that when animation start.
1688   * "event": the animation event callback info.
1689   * @returns { TabsAttribute }
1690   * @syscap SystemCapability.ArkUI.ArkUI.Full
1691   * @crossplatform
1692   * @since 11
1693   */
1694  /**
1695   * Called when swiping the tab content with the gesture.
1696   *
1697   * @param { function } handler -
1698   * "index": the index value of the tab that when animation start.
1699   * "event": the animation event callback info.
1700   * @returns { TabsAttribute }
1701   * @syscap SystemCapability.ArkUI.ArkUI.Full
1702   * @crossplatform
1703   * @atomicservice
1704   * @since 12
1705   */
1706  /**
1707   * Triggered on a frame-by-frame basis when the tab is switched by a swipe.
1708   * Anonymous Object Rectification
1709   *
1710   * @param { OnTabsGestureSwipeCallback } handler
1711   * @returns { TabsAttribute }
1712   * @syscap SystemCapability.ArkUI.ArkUI.Full
1713   * @crossplatform
1714   * @atomicservice
1715   * @since arkts {'1.1':'18','1.2':'20'}
1716   * @arkts 1.1&1.2
1717   */
1718  onGestureSwipe(handler: OnTabsGestureSwipeCallback): TabsAttribute;
1719
1720  /**
1721   * Set whether the edges of tab bar are fading.
1722   *
1723   * @param { boolean } value - indicates whether the edges of tab bar are fading.
1724   * @returns { TabsAttribute } the attribute of the tabs
1725   * @syscap SystemCapability.ArkUI.ArkUI.Full
1726   * @crossplatform
1727   * @since 10
1728   */
1729  /**
1730   * Sets whether the tab fades out when it exceeds the container width.
1731   *
1732   * <p><strong>NOTE</strong>:
1733   * <br>It is recommended that this attribute be used together with the barBackgroundColor attribute.
1734   * If the barBackgroundColor attribute is not defined, the tab fades out in white
1735   * when it exceeds the container width by default.
1736   * </p>
1737   *
1738   * @param { boolean } value - Whether the tab fades out when it exceeds the container width. Default value is true.
1739   * @returns { TabsAttribute } the attribute of the tabs
1740   * @syscap SystemCapability.ArkUI.ArkUI.Full
1741   * @crossplatform
1742   * @atomicservice
1743   * @since arkts {'1.1':'11','1.2':'20'}
1744   * @arkts 1.1&1.2
1745   */
1746  fadingEdge(value: boolean): TabsAttribute;
1747
1748  /**
1749   * Set the divider between tab bar and tab content.
1750   *
1751   * @param { DividerStyle | null } value - indicates the style of the indicator.
1752   * @returns { TabsAttribute } the attribute of the tabs
1753   * @syscap SystemCapability.ArkUI.ArkUI.Full
1754   * @crossplatform
1755   * @since 10
1756   */
1757  /**
1758   * Set the divider between tab bar and tab content.
1759   *
1760   * @param { DividerStyle | null } value - indicates the style of the indicator. Default value is null.
1761   * @returns { TabsAttribute } the attribute of the tabs
1762   * @syscap SystemCapability.ArkUI.ArkUI.Full
1763   * @crossplatform
1764   * @atomicservice
1765   * @since arkts {'1.1':'11','1.2':'20'}
1766   * @arkts 1.1&1.2
1767   */
1768  divider(value: DividerStyle | null): TabsAttribute;
1769
1770  /**
1771   * Set whether the tab bar overlaps with the tab content.
1772   *
1773   * @param { boolean } value - indicates whether the tab bar overlaps with the tab content.
1774   * @returns { TabsAttribute } the attribute of the tabs
1775   * @syscap SystemCapability.ArkUI.ArkUI.Full
1776   * @since 10
1777   */
1778  /**
1779   * Sets whether the tab bar is superimposed on the TabContent component after having its background blurred.
1780   *
1781   * @param { boolean } value - indicates whether the tab bar overlaps with the tab content. Default value is false.
1782   * @returns { TabsAttribute } the attribute of the tabs
1783   * @syscap SystemCapability.ArkUI.ArkUI.Full
1784   * @crossplatform
1785   * @atomicservice
1786   * @since arkts {'1.1':'11','1.2':'20'}
1787   * @arkts 1.1&1.2
1788   */
1789  barOverlap(value: boolean): TabsAttribute;
1790
1791  /**
1792   * Set the background color of the tab bar.
1793   *
1794   * @param { ResourceColor } value - indicates the background color of the tab bar.
1795   * @returns { TabsAttribute } the attribute of the tabs
1796   * @syscap SystemCapability.ArkUI.ArkUI.Full
1797   * @since 10
1798   */
1799  /**
1800   * Set the background color of the tab bar.
1801   *
1802   * @param { ResourceColor } value - indicates the background color of the tab bar.
1803   * Default value is Color.Transparent.
1804   * @returns { TabsAttribute } the attribute of the tabs
1805   * @syscap SystemCapability.ArkUI.ArkUI.Full
1806   * @crossplatform
1807   * @atomicservice
1808   * @since arkts {'1.1':'11','1.2':'20'}
1809   * @arkts 1.1&1.2
1810   */
1811  barBackgroundColor(value: ResourceColor): TabsAttribute;
1812
1813  /**
1814   * Set the grid alignment options of the tab bar.
1815   *
1816   * @param { BarGridColumnOptions } value - indicates the bar grid alignment options.
1817   * @returns { TabsAttribute } the attribute of the tabs
1818   * @syscap SystemCapability.ArkUI.ArkUI.Full
1819   * @crossplatform
1820   * @since 10
1821   */
1822  /**
1823   * Sets the visible area of the tab bar in grid mode.
1824   *
1825   * <p><strong>NOTE</strong>:
1826   * <br>This attribute is effective only in horizontal mode. It is not applicable to XS, XL, and XXL devices.
1827   * </p>
1828   *
1829   * @param { BarGridColumnOptions } value - indicates the bar grid alignment options.
1830   * @returns { TabsAttribute } the attribute of the tabs
1831   * @syscap SystemCapability.ArkUI.ArkUI.Full
1832   * @crossplatform
1833   * @atomicservice
1834   * @since arkts {'1.1':'11','1.2':'20'}
1835   * @arkts 1.1&1.2
1836   */
1837  barGridAlign(value: BarGridColumnOptions): TabsAttribute;
1838
1839  /**
1840   * Custom tab content transition animation.
1841   * When undefined is set, this interface does not take effect.
1842   *
1843   * @param { function } delegate - custom content transition animation.
1844   * @returns { TabsAttribute } the attribute of the tabs
1845   * @syscap SystemCapability.ArkUI.ArkUI.Full
1846   * @crossplatform
1847   * @form
1848   * @since 11
1849   */
1850  /**
1851   * Custom tab content transition animation.
1852   * When undefined is set, this interface does not take effect.
1853   *
1854   * @param { function } delegate - custom content transition animation.
1855   * @returns { TabsAttribute } the attribute of the tabs
1856   * @syscap SystemCapability.ArkUI.ArkUI.Full
1857   * @crossplatform
1858   * @form
1859   * @atomicservice
1860   * @since 12
1861   */
1862  /**
1863   * Custom tab content transition animation.
1864   * When undefined is set, this interface does not take effect.
1865   * Anonymous Object Rectification
1866   *
1867   * <p><strong>NOTE</strong>:
1868   * <br>Instructions:
1869   * <br>1. When the custom tab switching animation is used, the default switching animation of
1870   * the Tabs component is disabled, and tabs cannot be switched through swiping.
1871   * <br>2. The value undefined means not to use the custom tab switching animation,
1872   * in which case the default switching animation is used.
1873   * <br>3. The custom tab switching animation cannot be interrupted.
1874   * <br>4. Currently, the custom tab switching animation can be triggered only by clicking a tab
1875   * or by calling the TabsController.changeIndex() API.
1876   * <br>5. When the custom tab switching animation is used,
1877   * the Tabs component supports all events except onGestureSwipe.
1878   * <br>6. Notes about the onChange and onAnimationEnd events: If the second custom animation is triggered
1879   * during the execution of the first custom animation, the onChange and onAnimationEnd events of
1880   * the first custom animation will be triggered when the second custom animation starts.
1881   * <br>7. When the custom animation is used, the stack layout is used for pages involved in the animation.
1882   * If the zIndex attribute is not set for related pages, the zIndex values of all pages are the same.
1883   * In this case, the pages are rendered in the order in which they are added to
1884   * the component tree(that is, the sequence of page indexes). In light of this,
1885   * to control the rendering levels of pages, set the zIndex attribute of the pages.
1886   * </p>
1887   *
1888   * @param { TabsCustomContentTransitionCallback } delegate - Custom content transition animation.
1889   * @returns { TabsAttribute } The attribute of the tabs.
1890   * @syscap SystemCapability.ArkUI.ArkUI.Full
1891   * @crossplatform
1892   * @atomicservice
1893   * @since arkts {'1.1':'18','1.2':'20'}
1894   * @arkts 1.1&1.2
1895   */
1896  customContentTransition(delegate: TabsCustomContentTransitionCallback): TabsAttribute;
1897
1898  /**
1899   * Sets the background blur style of the tab bar.
1900   *
1901   * @param { BlurStyle } value - Background blur style of the tab bar. Default value is BlurStyle.NONE.
1902   * @returns { TabsAttribute } the attribute of the tabs
1903   * @syscap SystemCapability.ArkUI.ArkUI.Full
1904   * @crossplatform
1905   * @atomicservice
1906   * @since arkts {'1.1':'11','1.2':'20'}
1907   * @arkts 1.1&1.2
1908   */
1909  barBackgroundBlurStyle(value: BlurStyle): TabsAttribute;
1910
1911  /**
1912   * Setting page flip mode on mouse wheel event.
1913   *
1914   * @param { Optional<PageFlipMode> } mode - page flip mode on mouse wheel event. The default value is PageFlipMode.CONTINUOUS.
1915   * @returns { TabsAttribute }
1916   * @syscap SystemCapability.ArkUI.ArkUI.Full
1917   * @crossplatform
1918   * @atomicservice
1919   * @since arkts {'1.1':'15','1.2':'20'}
1920   * @arkts 1.1&1.2
1921   */
1922  pageFlipMode(mode: Optional<PageFlipMode>): TabsAttribute;
1923
1924  /**
1925   * Set the BlurStyle of the tab bar.
1926   *
1927   * @param { BlurStyle } style - style indicate the blur style for the tab bar
1928   * @param { BackgroundBlurStyleOptions } options - options indicate the options for the tab bar
1929   * @returns { TabsAttribute } the attribute of the tabs
1930   * @syscap SystemCapability.ArkUI.ArkUI.Full
1931   * @crossplatform
1932   * @atomicservice
1933   * @since arkts {'1.1':'18','1.2':'20'}
1934   * @arkts 1.1&1.2
1935   */
1936  barBackgroundBlurStyle(style: BlurStyle, options: BackgroundBlurStyleOptions): TabsAttribute;
1937
1938  /**
1939   * Set the BackgroundEffect of the tab bar.
1940   *
1941   * @param { BackgroundEffectOptions } options - options indicate the options for the tab bar
1942   * @returns { TabsAttribute } the attribute of the tabs
1943   * @syscap SystemCapability.ArkUI.ArkUI.Full
1944   * @crossplatform
1945   * @atomicservice
1946   * @since arkts {'1.1':'18','1.2':'20'}
1947   * @arkts 1.1&1.2
1948   */
1949  barBackgroundEffect(options: BackgroundEffectOptions): TabsAttribute;
1950
1951  /**
1952   * Called when content will change.
1953   *
1954   * @param { function } handler
1955   * "currentIndex": the index value of the current tab.
1956   * "comingIndex": the index value of the tab that will change.
1957   * Tabs can change from currentIndex to comingIndex if function return true.
1958   * Tabs can not change from currentIndex to comingIndex if function return false.
1959   * @returns { TabsAttribute }
1960   * @syscap SystemCapability.ArkUI.ArkUI.Full
1961   * @crossplatform
1962   * @atomicservice
1963   * @since 12
1964   */
1965  /**
1966   * Triggered when a new page is about to be displayed.
1967   * Anonymous Object Rectification
1968   *
1969   * <p><strong>NOTE</strong>:
1970   * <br>This event is triggered when any of the following conditions is met:
1971   * 1. When the user swipes on the TabContent component (provided that it supports swiping) to switch to a new page.
1972   * 2. When TabsController.changeIndex is called to switch to a new page.
1973   * 3. When the **index** attribute is changed to switch to a new page.
1974   * 4. When the user clicks a tab on the tab bar to switch to a new page.
1975   * 5. When the user presses the left or right arrow key on the keyboard to switch to a new page
1976   * while the tab bar is focused.
1977   * </p>
1978   *
1979   * @param { OnTabsContentWillChangeCallback } handler
1980   * @returns { TabsAttribute }
1981   * @syscap SystemCapability.ArkUI.ArkUI.Full
1982   * @crossplatform
1983   * @atomicservice
1984   * @since arkts {'1.1':'18','1.2':'20'}
1985   * @arkts 1.1&1.2
1986   */
1987  onContentWillChange(handler: OnTabsContentWillChangeCallback): TabsAttribute;
1988
1989  /**
1990   * Sets the maximum number of child components to be cached.
1991   *
1992   * @param { number } count - the maximum number of child components to be cached, default to 0.
1993   * @param { TabsCacheMode } mode - the mode of caching child components, default to TabsCacheMode.CACHE_BOTH_SIDE.
1994   * @returns { TabsAttribute }
1995   * @syscap SystemCapability.ArkUI.ArkUI.Full
1996   * @crossplatform
1997   * @atomicservice
1998   * @since arkts {'1.1':'19','1.2':'20'}
1999   * @arkts 1.1&1.2
2000   */
2001  cachedMaxCount(count: number, mode: TabsCacheMode): TabsAttribute;
2002}
2003
2004/**
2005 * Defines the Tab Content animated transition options.
2006 *
2007 * @interface TabContentAnimatedTransition
2008 * @syscap SystemCapability.ArkUI.ArkUI.Full
2009 * @crossplatform
2010 * @form
2011 * @since 11
2012 */
2013/**
2014 * Defines the Tab Content animated transition options.
2015 *
2016 * @interface TabContentAnimatedTransition
2017 * @syscap SystemCapability.ArkUI.ArkUI.Full
2018 * @crossplatform
2019 * @form
2020 * @atomicservice
2021 * @since arkts {'1.1':'12','1.2':'20'}
2022 * @arkts 1.1&1.2
2023 */
2024declare interface TabContentAnimatedTransition {
2025  /**
2026   * Defines the timeout of custom content transition animation. The unit is ms.
2027   * If TabContentTransitionProxy.finishTransition() is not invoked, use the timeout as animation end time.
2028   *
2029   * @type { ?number }
2030   * @default 1000 ms
2031   * @syscap SystemCapability.ArkUI.ArkUI.Full
2032   * @crossplatform
2033   * @form
2034   * @since 11
2035   */
2036  /**
2037   * Defines the timeout of custom content transition animation. The unit is ms.
2038   * If TabContentTransitionProxy.finishTransition() is not invoked, use the timeout as animation end time.
2039   *
2040   * @type { ?number }
2041   * @default 1000 ms
2042   * @syscap SystemCapability.ArkUI.ArkUI.Full
2043   * @crossplatform
2044   * @form
2045   * @atomicservice
2046   * @since arkts {'1.1':'12','1.2':'20'}
2047   * @arkts 1.1&1.2
2048   */
2049  timeout?: number;
2050
2051  /**
2052   * Called when custom content transition animation start.
2053   *
2054   * @type { function }
2055   * @syscap SystemCapability.ArkUI.ArkUI.Full
2056   * @crossplatform
2057   * @form
2058   * @since 11
2059   */
2060  /**
2061   * Called when custom content transition animation start.
2062   *
2063   * @type { function }
2064   * @syscap SystemCapability.ArkUI.ArkUI.Full
2065   * @crossplatform
2066   * @form
2067   * @atomicservice
2068   * @since 12
2069   */
2070  /**
2071   * Called when custom content transition animation start.
2072   * Anonymous Object Rectification
2073   *
2074   * @type { Callback<TabContentTransitionProxy> }
2075   * @syscap SystemCapability.ArkUI.ArkUI.Full
2076   * @crossplatform
2077   * @form
2078   * @atomicservice
2079   * @since arkts {'1.1':'18','1.2':'20'}
2080   * @arkts 1.1&1.2
2081   */
2082  transition: Callback<TabContentTransitionProxy>;
2083}
2084
2085/**
2086 *  The proxy of TabContentAnimatedTransition.
2087 *
2088 * @interface TabContentTransitionProxy
2089 * @syscap SystemCapability.ArkUI.ArkUI.Full
2090 * @crossplatform
2091 * @form
2092 * @since 11
2093 */
2094/**
2095 *  The proxy of TabContentAnimatedTransition.
2096 *
2097 * @interface TabContentTransitionProxy
2098 * @syscap SystemCapability.ArkUI.ArkUI.Full
2099 * @crossplatform
2100 * @form
2101 * @atomicservice
2102 * @since arkts {'1.1':'12','1.2':'20'}
2103 * @arkts 1.1&1.2
2104 */
2105declare interface TabContentTransitionProxy {
2106  /**
2107   * The index of current tab content.
2108   *
2109   * @type { number }
2110   * @syscap SystemCapability.ArkUI.ArkUI.Full
2111   * @crossplatform
2112   * @form
2113   * @since 11
2114   */
2115  /**
2116   * The index of current tab content.
2117   *
2118   * @type { number }
2119   * @syscap SystemCapability.ArkUI.ArkUI.Full
2120   * @crossplatform
2121   * @form
2122   * @atomicservice
2123   * @since arkts {'1.1':'12','1.2':'20'}
2124   * @arkts 1.1&1.2
2125   */
2126  from: number;
2127
2128  /**
2129   * The index of target tab content.
2130   *
2131   * @type { number }
2132   * @syscap SystemCapability.ArkUI.ArkUI.Full
2133   * @crossplatform
2134   * @form
2135   * @since 11
2136   */
2137  /**
2138   * The index of target tab content.
2139   *
2140   * @type { number }
2141   * @syscap SystemCapability.ArkUI.ArkUI.Full
2142   * @crossplatform
2143   * @form
2144   * @atomicservice
2145   * @since arkts {'1.1':'12','1.2':'20'}
2146   * @arkts 1.1&1.2
2147   */
2148  to: number;
2149
2150  /**
2151   * Notifies Tabs component the custom content transition animation is complete.
2152   *
2153   * @syscap SystemCapability.ArkUI.ArkUI.Full
2154   * @crossplatform
2155   * @form
2156   * @since 11
2157   */
2158  /**
2159   * Notifies Tabs component the custom content transition animation is complete.
2160   *
2161   * @syscap SystemCapability.ArkUI.ArkUI.Full
2162   * @crossplatform
2163   * @form
2164   * @atomicservice
2165   * @since arkts {'1.1':'12','1.2':'20'}
2166   * @arkts 1.1&1.2
2167   */
2168  finishTransition(): void;
2169}
2170
2171/**
2172 * Defines Tabs Component.
2173 *
2174 * @syscap SystemCapability.ArkUI.ArkUI.Full
2175 * @since 7
2176 */
2177/**
2178 * Defines Tabs Component.
2179 *
2180 * @syscap SystemCapability.ArkUI.ArkUI.Full
2181 * @crossplatform
2182 * @since 10
2183 */
2184/**
2185 * Defines Tabs Component.
2186 *
2187 * @syscap SystemCapability.ArkUI.ArkUI.Full
2188 * @crossplatform
2189 * @atomicservice
2190 * @since 11
2191 */
2192declare const Tabs: TabsInterface;
2193
2194/**
2195 * Defines Tabs Component instance.
2196 *
2197 * @syscap SystemCapability.ArkUI.ArkUI.Full
2198 * @since 7
2199 */
2200/**
2201 * Defines Tabs Component instance.
2202 *
2203 * @syscap SystemCapability.ArkUI.ArkUI.Full
2204 * @crossplatform
2205 * @since 10
2206 */
2207/**
2208 * Defines Tabs Component instance.
2209 *
2210 * @syscap SystemCapability.ArkUI.ArkUI.Full
2211 * @crossplatform
2212 * @atomicservice
2213 * @since 11
2214 */
2215declare const TabsInstance: TabsAttribute;
2216