• 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 { CommonMethod } from './common';
23import { CustomBuilder } from './builder'
24import { TextHeightAdaptivePolicy, TextOverflow, VerticalAlign } from './enums';
25import { Dimension, Font, Length, LocalizedPadding, Padding, Resource, ResourceColor, ResourceStr, VoidCallback } from './units';
26import { ComponentContent } from '../ComponentContent'
27import { SymbolGlyphModifier } from '../SymbolGlyphModifier';
28/*** endif */
29
30/**
31 * Enum for the mode of the tab bar when selected.
32 *
33 * @enum { number }
34 * @syscap SystemCapability.ArkUI.ArkUI.Full
35 * @crossplatform
36 * @since 10
37 */
38/**
39 * Enum for the mode of the tab bar when selected.
40 *
41 * @enum { number }
42 * @syscap SystemCapability.ArkUI.ArkUI.Full
43 * @crossplatform
44 * @atomicservice
45 * @since arkts {'1.1':'11','1.2':'20'}
46 * @arkts 1.1&1.2
47 */
48declare enum SelectedMode {
49  /**
50   * The value of indicator
51   *
52   * @syscap SystemCapability.ArkUI.ArkUI.Full
53   * @crossplatform
54   * @since 10
55   */
56  /**
57   * Indicator mode.
58   *
59   * @syscap SystemCapability.ArkUI.ArkUI.Full
60   * @crossplatform
61   * @atomicservice
62   * @since arkts {'1.1':'11','1.2':'20'}
63   * @arkts 1.1&1.2
64   */
65  INDICATOR,
66
67  /**
68   * The value of board
69   *
70   * @syscap SystemCapability.ArkUI.ArkUI.Full
71   * @crossplatform
72   * @since 10
73   */
74  /**
75   * Board mode.
76   *
77   * @syscap SystemCapability.ArkUI.ArkUI.Full
78   * @crossplatform
79   * @atomicservice
80   * @since arkts {'1.1':'11','1.2':'20'}
81   * @arkts 1.1&1.2
82   */
83  BOARD
84}
85
86/**
87 * Enum for the layout mode of the content in the tab bar.
88 *
89 * @enum { number }
90 * @syscap SystemCapability.ArkUI.ArkUI.Full
91 * @crossplatform
92 * @since 10
93 */
94/**
95 * Enum for the layout mode of the content in the tab bar.
96 *
97 * @enum { number }
98 * @syscap SystemCapability.ArkUI.ArkUI.Full
99 * @crossplatform
100 * @atomicservice
101 * @since arkts {'1.1':'11','1.2':'20'}
102 * @arkts 1.1&1.2
103 */
104declare enum LayoutMode {
105
106  /**
107   * The the content is laid vertically or horizontally, according to its width.
108   *
109   * @syscap SystemCapability.ArkUI.ArkUI.Full
110   * @crossplatform
111   * @since 10
112   */
113  /**
114   * The the content is laid vertically or horizontally, according to its width.
115   *
116   * @syscap SystemCapability.ArkUI.ArkUI.Full
117   * @crossplatform
118   * @atomicservice
119   * @since arkts {'1.1':'11','1.2':'20'}
120   * @arkts 1.1&1.2
121   */
122  AUTO = 0,
123  /**
124   * The the content is laid vertically
125   *
126   * @syscap SystemCapability.ArkUI.ArkUI.Full
127   * @crossplatform
128   * @since 10
129   */
130  /**
131   * The the content is laid vertically
132   *
133   * @syscap SystemCapability.ArkUI.ArkUI.Full
134   * @crossplatform
135   * @atomicservice
136   * @since arkts {'1.1':'11','1.2':'20'}
137   * @arkts 1.1&1.2
138   */
139  VERTICAL = 1,
140
141  /**
142   * The the content is laid horizontally
143   *
144   * @syscap SystemCapability.ArkUI.ArkUI.Full
145   * @crossplatform
146   * @since 10
147   */
148  /**
149   * The the content is laid horizontally
150   *
151   * @syscap SystemCapability.ArkUI.ArkUI.Full
152   * @crossplatform
153   * @atomicservice
154   * @since arkts {'1.1':'11','1.2':'20'}
155   * @arkts 1.1&1.2
156   */
157  HORIZONTAL = 2
158}
159
160
161/**
162 * Provide an interface for the style of an indicator including color, height, width, border radius
163 * and margin top
164 *
165 * @interface IndicatorStyle
166 * @syscap SystemCapability.ArkUI.ArkUI.Full
167 * @crossplatform
168 * @since 10
169 */
170/**
171 * Provide an interface for the style of an indicator including color, height, width, border radius
172 * and margin top
173 *
174 * @interface IndicatorStyle
175 * @syscap SystemCapability.ArkUI.ArkUI.Full
176 * @crossplatform
177 * @atomicservice
178 * @since 11
179 */
180interface IndicatorStyle {
181  /**
182   * Define the color of the indicator
183   *
184   * @type { ?ResourceColor }
185   * @syscap SystemCapability.ArkUI.ArkUI.Full
186   * @crossplatform
187   * @since 10
188   */
189  /**
190   * Color of the indicator and board.
191   *
192   * @type { ?ResourceColor }
193   * @default #FF007DFF
194   * @syscap SystemCapability.ArkUI.ArkUI.Full
195   * @crossplatform
196   * @atomicservice
197   * @since 11
198   */
199  color?: ResourceColor;
200
201  /**
202   * Define the height of the indicator
203   *
204   * @type { ?Length }
205   * @syscap SystemCapability.ArkUI.ArkUI.Full
206   * @crossplatform
207   * @since 10
208   */
209  /**
210   * Height of the indicator. It cannot be set in percentage.
211   *
212   * @type { ?Length }
213   * @default 2vp
214   * @syscap SystemCapability.ArkUI.ArkUI.Full
215   * @crossplatform
216   * @atomicservice
217   * @since 11
218   */
219  height?: Length;
220
221  /**
222   * Define the width of the indicator.
223   * If it is 0, the width will be equal to the width of the content
224   *
225   * @type { ?Length }
226   * @default 0
227   * @syscap SystemCapability.ArkUI.ArkUI.Full
228   * @crossplatform
229   * @since 10
230   */
231  /**
232   * Width of the indicator. It cannot be set in percentage.
233   * If it is 0, the width will be equal to the width of the content
234   *
235   * @type { ?Length }
236   * @default 0
237   * @syscap SystemCapability.ArkUI.ArkUI.Full
238   * @crossplatform
239   * @atomicservice
240   * @since 11
241   */
242  width?: Length;
243
244  /**
245   * Define the border radius of the indicator
246   *
247   * @type { ?Length }
248   * @default 0
249   * @syscap SystemCapability.ArkUI.ArkUI.Full
250   * @crossplatform
251   * @since 10
252   */
253  /**
254   * Rounded corner radius of the indicator. It cannot be set in percentage.
255   *
256   * @type { ?Length }
257   * @default 0
258   * @syscap SystemCapability.ArkUI.ArkUI.Full
259   * @crossplatform
260   * @atomicservice
261   * @since 11
262   */
263  borderRadius?: Length;
264
265  /**
266   * Define the margin top of the indicator
267   *
268   * @type { ?Length }
269   * @default 8
270   * @syscap SystemCapability.ArkUI.ArkUI.Full
271   * @crossplatform
272   * @since 10
273   */
274  /**
275   * Spacing between the indicator and text.It cannot be set in percentage.
276   *
277   * @type { ?Length }
278   * @default 8vp
279   * @syscap SystemCapability.ArkUI.ArkUI.Full
280   * @crossplatform
281   * @atomicservice
282   * @since 11
283   */
284  marginTop?: Length;
285}
286
287/**
288 * Provide an interface for the style of an SubTabBar indicator including color, height, width, border radius
289 * and margin top
290 *
291 * @interface SubTabBarIndicatorStyle
292 * @syscap SystemCapability.ArkUI.ArkUI.Full
293 * @atomicservice
294 * @since 20
295 * @arkts 1.2
296 */
297declare interface SubTabBarIndicatorStyle {
298  /**
299   * Define the color of the indicator
300   *
301   * @type { ?ResourceColor }
302   * @syscap SystemCapability.ArkUI.ArkUI.Full
303   * @atomicservice
304   * @since 20
305   * @arkts 1.2
306   */
307  color?: ResourceColor;
308
309  /**
310   * Define the height of the indicator
311   *
312   * @type { ?Length }
313   * @syscap SystemCapability.ArkUI.ArkUI.Full
314   * @atomicservice
315   * @since 20
316   * @arkts 1.2
317   */
318  height?: Length;
319
320  /**
321   * Define the width of the indicator.
322   * If it is 0, the width will be equal to the width of the content
323   *
324   * @type { ?Length }
325   * @default 0
326   * @syscap SystemCapability.ArkUI.ArkUI.Full
327   * @atomicservice
328   * @since 20
329   * @arkts 1.2
330   */
331  width?: Length;
332
333  /**
334   * Define the border radius of the indicator
335   *
336   * @type { ?Length }
337   * @default 0
338   * @syscap SystemCapability.ArkUI.ArkUI.Full
339   * @atomicservice
340   * @since 20
341   * @arkts 1.2
342   */
343  borderRadius?: Length;
344
345  /**
346   * Define the margin top of the indicator
347   *
348   * @type { ?Length }
349   * @default 8
350   * @syscap SystemCapability.ArkUI.ArkUI.Full
351   * @atomicservice
352   * @since 20
353   * @arkts 1.2
354   */
355  marginTop?: Length;
356}
357
358/**
359 * Provide an interface for the style of an indicator including border radius
360 *
361 * @interface BoardStyle
362 * @syscap SystemCapability.ArkUI.ArkUI.Full
363 * @crossplatform
364 * @since 10
365 */
366/**
367 * Provide an interface for the style of an indicator including border radius
368 *
369 * @interface BoardStyle
370 * @syscap SystemCapability.ArkUI.ArkUI.Full
371 * @crossplatform
372 * @atomicservice
373 * @since arkts {'1.1':'11','1.2':'20'}
374 * @arkts 1.1&1.2
375 */
376interface BoardStyle {
377  /**
378   * Define the border radius of the board
379   *
380   * @type { ?Length }
381   * @syscap SystemCapability.ArkUI.ArkUI.Full
382   * @crossplatform
383   * @since 10
384   */
385  /**
386   * Define the border radius of the board
387   *
388   * @type { ?Length }
389   * @default 8.0vp
390   * @syscap SystemCapability.ArkUI.ArkUI.Full
391   * @crossplatform
392   * @atomicservice
393   * @since arkts {'1.1':'11','1.2':'20'}
394   * @arkts 1.1&1.2
395   */
396  borderRadius?: Length;
397}
398
399/**
400 * LabelStyle object.
401 *
402 * @interface LabelStyle
403 * @syscap SystemCapability.ArkUI.ArkUI.Full
404 * @crossplatform
405 * @since 10
406 */
407/**
408 * LabelStyle object.
409 *
410 * @interface LabelStyle
411 * @syscap SystemCapability.ArkUI.ArkUI.Full
412 * @crossplatform
413 * @atomicservice
414 * @since 11
415 */
416declare interface LabelStyle {
417  /**
418   * overflow mode.
419   *
420   * @type { ?TextOverflow }
421   * @syscap SystemCapability.ArkUI.ArkUI.Full
422   * @crossplatform
423   * @since 10
424   */
425  /**
426   * Display mode when the label text is too long.
427   *
428   * @type { ?TextOverflow }
429   * @default TextOverflow.Ellipsis
430   * @syscap SystemCapability.ArkUI.ArkUI.Full
431   * @crossplatform
432   * @atomicservice
433   * @since 11
434   */
435  overflow?: TextOverflow;
436
437  /**
438   * Label max lines.
439   *
440   * @type { ?number }
441   * @syscap SystemCapability.ArkUI.ArkUI.Full
442   * @crossplatform
443   * @since 10
444   */
445  /**
446   * Maximum number of lines in the label text.
447   *
448   * @type { ?number }
449   * @default 1
450   * @syscap SystemCapability.ArkUI.ArkUI.Full
451   * @crossplatform
452   * @atomicservice
453   * @since 11
454   */
455  maxLines?: number;
456
457  /**
458   * Min font size for adapted height.
459   *
460   * @type { ?(number | ResourceStr) }
461   * @syscap SystemCapability.ArkUI.ArkUI.Full
462   * @crossplatform
463   * @since 10
464   */
465  /**
466   * Minimum font size of the label text.
467   *
468   * @type { ?(number | ResourceStr) }
469   * @default 0.0fp
470   * @syscap SystemCapability.ArkUI.ArkUI.Full
471   * @crossplatform
472   * @atomicservice
473   * @since 11
474   */
475  minFontSize?: number | ResourceStr;
476
477  /**
478   * Max font size for adapted height.
479   *
480   * @type { ?(number | ResourceStr) }
481   * @syscap SystemCapability.ArkUI.ArkUI.Full
482   * @crossplatform
483   * @since 10
484   */
485  /**
486   * Maximum font size of the label text.
487   *
488   * @type { ?(number | ResourceStr) }
489   * @default 0.0fp
490   * @syscap SystemCapability.ArkUI.ArkUI.Full
491   * @crossplatform
492   * @atomicservice
493   * @since 11
494   */
495  maxFontSize?: number | ResourceStr;
496
497  /**
498   * Adapt text height option.
499   *
500   * @type { ?TextHeightAdaptivePolicy }
501   * @syscap SystemCapability.ArkUI.ArkUI.Full
502   * @crossplatform
503   * @since 10
504   */
505  /**
506   * How the adaptive height is determined for the label text.
507   *
508   * @type { ?TextHeightAdaptivePolicy }
509   * @default TextHeightAdaptivePolicy.MAX_LINES_FIRST
510   * @syscap SystemCapability.ArkUI.ArkUI.Full
511   * @crossplatform
512   * @atomicservice
513   * @since 11
514   */
515  heightAdaptivePolicy?: TextHeightAdaptivePolicy;
516
517  /**
518   * Font style.
519   *
520   * @type { ?Font }
521   * @syscap SystemCapability.ArkUI.ArkUI.Full
522   * @crossplatform
523   * @since 10
524   */
525  /**
526   * Font of the label text.
527   *
528   * @type { ?Font }
529   * When setting the tabBar to BottomTabBarStyle, the default font size is 10.0fp.
530   * When setting the tabBar to SubTabBarStyle, the default font size is 16.0fp.
531   * @syscap SystemCapability.ArkUI.ArkUI.Full
532   * @crossplatform
533   * @atomicservice
534   * @since 11
535   */
536  font?: Font;
537
538  /**
539   * Font color of the label text when it is selected.
540   *
541   * @type { ?ResourceColor }
542   * @default #FF007DFF
543   * @syscap SystemCapability.ArkUI.ArkUI.Full
544   * @crossplatform
545   * @atomicservice
546   * @since 12
547   */
548  selectedColor?: ResourceColor;
549
550  /**
551   * Font color of the label text when it is not selected.
552   *
553   * @type { ?ResourceColor }
554   * @default #99182431
555   * @syscap SystemCapability.ArkUI.ArkUI.Full
556   * @crossplatform
557   * @atomicservice
558   * @since 12
559   */
560  unselectedColor?: ResourceColor;
561}
562
563/**
564 * TabBarLabelStyle object.
565 *
566 * @interface TabBarLabelStyle
567 * @syscap SystemCapability.ArkUI.ArkUI.Full
568 * @crossplatform
569 * @atomicservice
570 * @since 20
571 * @arkts 1.2
572 */
573declare interface TabBarLabelStyle {
574
575  /**
576   * overflow mode.
577   *
578   * @type { ?TextOverflow }
579   * @syscap SystemCapability.ArkUI.ArkUI.Full
580   * @crossplatform
581   * @atomicservice
582   * @since 20
583   * @arkts 1.2
584   */
585  overflow?: TextOverflow;
586
587  /**
588   * Label max lines.
589   *
590   * @type { ?number }
591   * @syscap SystemCapability.ArkUI.ArkUI.Full
592   * @crossplatform
593   * @atomicservice
594   * @since 20
595   * @arkts 1.2
596   */
597  maxLines?: number;
598
599  /**
600   * Min font size for adapted height.
601   *
602   * @type { ?(number | ResourceStr) }
603   * @syscap SystemCapability.ArkUI.ArkUI.Full
604   * @crossplatform
605   * @atomicservice
606   * @since 20
607   * @arkts 1.2
608   */
609  minFontSize?: number | ResourceStr;
610
611  /**
612   * Max font size for adapted height.
613   *
614   * @type { ?(number | ResourceStr) }
615   * @syscap SystemCapability.ArkUI.ArkUI.Full
616   * @crossplatform
617   * @atomicservice
618   * @since 20
619   * @arkts 1.2
620   */
621  maxFontSize?: number | ResourceStr;
622
623  /**
624   * Adapt text height option.
625   *
626   * @type { ?TextHeightAdaptivePolicy }
627   * @syscap SystemCapability.ArkUI.ArkUI.Full
628   * @crossplatform
629   * @atomicservice
630   * @since 20
631   * @arkts 1.2
632   */
633  heightAdaptivePolicy?: TextHeightAdaptivePolicy;
634
635  /**
636   * Font style.
637   *
638   * @type { ?Font }
639   * @syscap SystemCapability.ArkUI.ArkUI.Full
640   * @crossplatform
641   * @atomicservice
642   * @since 20
643   * @arkts 1.2
644   */
645  font?: Font;
646
647  /**
648   * The text color of the selected tab bar.
649   *
650   * @type { ?ResourceColor }
651   * @syscap SystemCapability.ArkUI.ArkUI.Full
652   * @crossplatform
653   * @atomicservice
654   * @since 20
655   * @arkts 1.2
656   */
657  selectedColor?: ResourceColor;
658
659  /**
660   * The text color of the unselected tab bar.
661   *
662   * @type { ?ResourceColor }
663   * @syscap SystemCapability.ArkUI.ArkUI.Full
664   * @crossplatform
665   * @atomicservice
666   * @since 20
667   * @arkts 1.2
668   */
669  unselectedColor?: ResourceColor;
670}
671
672/**
673 * TabBarIconStyle object.
674 *
675 * @interface TabBarIconStyle
676 * @syscap SystemCapability.ArkUI.ArkUI.Full
677 * @crossplatform
678 * @atomicservice
679 * @since arkts {'1.1':'12','1.2':'20'}
680 * @arkts 1.1&1.2
681 */
682declare interface TabBarIconStyle {
683  /**
684   * The icon color of the selected tab bar.
685   *
686   * @type { ?ResourceColor }
687   * @default #FF007DFF
688   * @syscap SystemCapability.ArkUI.ArkUI.Full
689   * @crossplatform
690   * @atomicservice
691   * @since arkts {'1.1':'12','1.2':'20'}
692   * @arkts 1.1&1.2
693   */
694  selectedColor?: ResourceColor;
695
696  /**
697   * The icon color of the unselected tab bar.
698   *
699   * @type { ?ResourceColor }
700   * @default #33182431
701   * @syscap SystemCapability.ArkUI.ArkUI.Full
702   * @crossplatform
703   * @atomicservice
704   * @since arkts {'1.1':'12','1.2':'20'}
705   * @arkts 1.1&1.2
706   */
707  unselectedColor?: ResourceColor;
708}
709
710/**
711 * TabBarSymbol object.
712 *
713 * @syscap SystemCapability.ArkUI.ArkUI.Full
714 * @atomicservice
715 * @since 12
716 */
717/**
718 * TabBarSymbol object.
719 *
720 * @syscap SystemCapability.ArkUI.ArkUI.Full
721 * @crossplatform
722 * @atomicservice
723 * @since 20
724 * @arkts 1.1&1.2
725 */
726declare class TabBarSymbol {
727  /**
728   * Symbol icon in the normal style.
729   *
730   * @type { SymbolGlyphModifier }
731   * @default fontColor: #66182431, renderingStrategy: SymbolRenderingStrategy.MULTIPLE_OPACITY, fontSize: 24vp
732   * @syscap SystemCapability.ArkUI.ArkUI.Full
733   * @atomicservice
734   * @since 12
735   */
736  /**
737   * Symbol icon in the normal style.
738   *
739   * @type { SymbolGlyphModifier }
740   * @default fontColor: #66182431, renderingStrategy: SymbolRenderingStrategy.MULTIPLE_OPACITY, fontSize: 24vp
741   * @syscap SystemCapability.ArkUI.ArkUI.Full
742   * @crossplatform
743   * @atomicservice
744   * @since 20
745   * @arkts 1.1&1.2
746   */
747  normal: SymbolGlyphModifier;
748
749  /**
750   * Symbol icon in the selected style.
751   *
752   * @type { ?SymbolGlyphModifier }
753   * @default fontColor: #ff007dff, renderingStrategy: SymbolRenderingStrategy.MULTIPLE_OPACITY, fontSize: 24vp
754   * @syscap SystemCapability.ArkUI.ArkUI.Full
755   * @atomicservice
756   * @since 12
757   */
758  /**
759   * Symbol icon in the selected style.
760   *
761   * @type { ?SymbolGlyphModifier }
762   * @default fontColor: #ff007dff, renderingStrategy: SymbolRenderingStrategy.MULTIPLE_OPACITY, fontSize: 24vp
763   * @syscap SystemCapability.ArkUI.ArkUI.Full
764   * @crossplatform
765   * @atomicservice
766   * @since 20
767   * @arkts 1.1&1.2
768   */
769  selected?: SymbolGlyphModifier;
770}
771
772/**
773 * Icon and text for TabBar.
774 *
775 * @typedef TabBarOptions
776 * @syscap SystemCapability.ArkUI.ArkUI.Full
777 * @crossplatform
778 * @atomicservice
779 * @since arkts {'1.1':'18','1.2':'20'}
780 * @arkts 1.1&1.2
781 */
782declare interface TabBarOptions {
783  /**
784   * TabBar icon.
785   *
786   * @type { ?(string | Resource) }
787   * @syscap SystemCapability.ArkUI.ArkUI.Full
788   * @since 7
789   */
790  /**
791   * TabBar icon.
792   *
793   * @type { ?(string | Resource) }
794   * @syscap SystemCapability.ArkUI.ArkUI.Full
795   * @crossplatform
796   * @since 10
797   */
798  /**
799   * TabBar icon.
800   *
801   * @type { ?(string | Resource) }
802   * @syscap SystemCapability.ArkUI.ArkUI.Full
803   * @crossplatform
804   * @atomicservice
805   * @since 11
806   */
807  /**
808   * TabBar icon.
809   * Anonymous Object Rectification
810   *
811   * <p><strong>NOTE</strong>:
812   * <br>If the icon uses an SVG image, the width and height attributes of the SVG image must be deleted.
813   * Otherwise, the icon size will be determined by the width and height attributes of the SVG image.
814   * </p>
815   *
816   * @type { ?(string | Resource) }
817   * @syscap SystemCapability.ArkUI.ArkUI.Full
818   * @crossplatform
819   * @atomicservice
820   * @since arkts {'1.1':'18','1.2':'20'}
821   * @arkts 1.1&1.2
822   */
823  icon?: string | Resource;
824
825  /**
826   * TabBar text.
827   *
828   * @type { ?(string | Resource) }
829   * @syscap SystemCapability.ArkUI.ArkUI.Full
830   * @since 7
831   */
832  /**
833   * TabBar text.
834   *
835   * @type { ?(string | Resource) }
836   * @syscap SystemCapability.ArkUI.ArkUI.Full
837   * @crossplatform
838   * @since 10
839   */
840  /**
841   * TabBar text.
842   *
843   * @type { ?(string | Resource) }
844   * @syscap SystemCapability.ArkUI.ArkUI.Full
845   * @crossplatform
846   * @atomicservice
847   * @since 11
848   */
849  /**
850   * TabBar text.
851   * Anonymous Object Rectification
852   *
853   * @type { ?(string | Resource) }
854   * @syscap SystemCapability.ArkUI.ArkUI.Full
855   * @crossplatform
856   * @atomicservice
857   * @since arkts {'1.1':'18','1.2':'20'}
858   * @arkts 1.1&1.2
859   */
860  text?: string | Resource
861}
862
863/**
864 * Define SubTabBarStyle, the style is text and underline.
865 *
866 * @syscap SystemCapability.ArkUI.ArkUI.Full
867 * @since 9
868 */
869/**
870 * Define SubTabBarStyle, the style is text and underline.
871 *
872 * @syscap SystemCapability.ArkUI.ArkUI.Full
873 * @crossplatform
874 * @since 10
875 */
876/**
877 * Define SubTabBarStyle, the style is text and underline.
878 *
879 * @syscap SystemCapability.ArkUI.ArkUI.Full
880 * @crossplatform
881 * @atomicservice
882 * @since arkts {'1.1':'11','1.2':'20'}
883 * @arkts 1.1&1.2
884 */
885declare class SubTabBarStyle {
886  /**
887   * constructor.
888   *
889   * @param { ResourceStr } content - indicates the content of the sub tab bar
890   * @syscap SystemCapability.ArkUI.ArkUI.Full
891   * @since 9
892   */
893  /**
894   * constructor.
895   *
896   * @param { ResourceStr } content - indicates the content of the sub tab bar
897   * @syscap SystemCapability.ArkUI.ArkUI.Full
898   * @crossplatform
899   * @since 10
900   */
901  /**
902   * constructor.
903   *
904   * @param { ResourceStr } content - indicates the content of the sub tab bar
905   * @syscap SystemCapability.ArkUI.ArkUI.Full
906   * @crossplatform
907   * @atomicservice
908   * @since arkts {'1.1':'11','1.2':'20'}
909   * @arkts 1.1&1.2
910   */
911  constructor(content: ResourceStr);
912  /**
913   * constructor.
914   *
915   * @param { ResourceStr | ComponentContent } content - indicates the content of the sub tab bar
916   * @syscap SystemCapability.ArkUI.ArkUI.Full
917   * @crossplatform
918   * @atomicservice
919   * @since arkts {'1.1':'12','1.2':'20'}
920   * @arkts 1.1&1.2
921   */
922  constructor(content: ResourceStr | ComponentContent);
923
924  /**
925   * constructor
926   *
927   * @param { ResourceStr } content - indicates the content of the sub tab bar
928   * @returns { SubTabBarStyle } the style of the sub tab bar
929   * @static
930   * @syscap SystemCapability.ArkUI.ArkUI.Full
931   * @crossplatform
932   * @since 10
933   */
934  /**
935   * Static constructor used to create a SubTabBarStyle instance.
936   *
937   * @param { ResourceStr } content - indicates the content of the sub tab bar
938   * @returns { SubTabBarStyle } the style of the sub tab bar
939   * @static
940   * @syscap SystemCapability.ArkUI.ArkUI.Full
941   * @crossplatform
942   * @atomicservice
943   * @since arkts {'1.1':'11','1.2':'20'}
944   * @arkts 1.1&1.2
945   */
946  static of(content: ResourceStr): SubTabBarStyle;
947  /**
948   * Static constructor used to create a SubTabBarStyle instance. You can set custom content with ComponentContent.
949   *
950   * @param { ResourceStr | ComponentContent } content - indicates the content of the sub tab bar
951   * @returns { SubTabBarStyle } the style of the sub tab bar
952   * @static
953   * @syscap SystemCapability.ArkUI.ArkUI.Full
954   * @crossplatform
955   * @atomicservice
956   * @since arkts {'1.1':'12','1.2':'20'}
957   * @arkts 1.1&1.2
958   */
959  static of(content: ResourceStr | ComponentContent): SubTabBarStyle;
960
961  /**
962   * Set the style of the indicator when selected
963   *
964   * @param { IndicatorStyle } value - indicates the indicator style of the sub tab bar
965   * @returns { SubTabBarStyle } the style of the sub tab bar
966   * @syscap SystemCapability.ArkUI.ArkUI.Full
967   * @crossplatform
968   * @since 10
969   */
970  /**
971   * Sets the indicator style of the selected subtab.
972   *
973   * @param { IndicatorStyle } value - indicator style object for the selected subtab.
974   * @returns { SubTabBarStyle } the style of the sub tab bar
975   * @syscap SystemCapability.ArkUI.ArkUI.Full
976   * @crossplatform
977   * @atomicservice
978   * @since 11
979   */
980  indicator(value: IndicatorStyle): SubTabBarStyle;
981
982  /**
983   * Set the style of the indicator when selected
984   *
985   * @param { SubTabBarIndicatorStyle } style - indicates the indicator style of the sub tab bar
986   * @returns { SubTabBarStyle } the style of the sub tab bar
987   * @syscap SystemCapability.ArkUI.ArkUI.Full
988   * @atomicservice
989   * @since 20
990   * @arkts 1.2
991   */
992  indicator(style: SubTabBarIndicatorStyle): SubTabBarStyle;
993
994  /**
995   * Set the mode of the indicator when selected
996   *
997   * @param { SelectedMode } value - indicates the selected mode of the sub tab bar
998   * @returns { SubTabBarStyle } the style of the sub tab bar
999   * @syscap SystemCapability.ArkUI.ArkUI.Full
1000   * @crossplatform
1001   * @since 10
1002   */
1003  /**
1004   * Sets the display mode of the selected subtab.
1005   *
1006   * <p><strong>NOTE</strong>:
1007   * <br>It takes effect only in the horizontal layout.
1008   * </p>
1009   *
1010   * @param { SelectedMode } value - display mode of the selected subtab. Default value is SelectedMode.INDICATOR.
1011   * @returns { SubTabBarStyle } the style of the sub tab bar
1012   * @syscap SystemCapability.ArkUI.ArkUI.Full
1013   * @crossplatform
1014   * @atomicservice
1015   * @since arkts {'1.1':'11','1.2':'20'}
1016   * @arkts 1.1&1.2
1017   */
1018  selectedMode(value: SelectedMode): SubTabBarStyle;
1019
1020  /**
1021   * Set the style of the board when selected
1022   *
1023   * @param { BoardStyle } value - indicates the board style of the sub tab bar
1024   * @returns { SubTabBarStyle } the style of the sub tab bar
1025   * @syscap SystemCapability.ArkUI.ArkUI.Full
1026   * @crossplatform
1027   * @since 10
1028   */
1029  /**
1030   * Sets the background style (board style) of the selected subtab.
1031   *
1032   * <p><strong>NOTE</strong>:
1033   * <br>It takes effect only in the horizontal layout.
1034   * </p>
1035   *
1036   * @param { BoardStyle } value - background style object for the selected subtab.
1037   * @returns { SubTabBarStyle } the style of the sub tab bar
1038   * @syscap SystemCapability.ArkUI.ArkUI.Full
1039   * @crossplatform
1040   * @atomicservice
1041   * @since arkts {'1.1':'11','1.2':'20'}
1042   * @arkts 1.1&1.2
1043   */
1044  board(value: BoardStyle): SubTabBarStyle;
1045
1046  /**
1047   * Set the label style of the indicator
1048   *
1049   * @param { LabelStyle } value - indicates the label style of the sub tab bar
1050   * @returns { SubTabBarStyle } the style of the sub tab bar
1051   * @syscap SystemCapability.ArkUI.ArkUI.Full
1052   * @crossplatform
1053   * @since 10
1054   */
1055  /**
1056   * Sets the style of the label text and font for the subtab.
1057   *
1058   * @param { LabelStyle } value - style object for the label text and font of the subtab.
1059   * @returns { SubTabBarStyle } the style of the sub tab bar
1060   * @syscap SystemCapability.ArkUI.ArkUI.Full
1061   * @crossplatform
1062   * @atomicservice
1063   * @since 11
1064   */
1065  labelStyle(value: LabelStyle): SubTabBarStyle;
1066
1067  /**
1068   * Set the label style of the sub tab bar
1069   *
1070   * @param { TabBarLabelStyle } style - indicates the label style of the sub tab bar
1071   * @returns { SubTabBarStyle } the style of the sub tab bar
1072   * @syscap SystemCapability.ArkUI.ArkUI.Full
1073   * @atomicservice
1074   * @since 20
1075   * @arkts 1.2
1076   */
1077  labelStyle(style: TabBarLabelStyle): SubTabBarStyle;
1078
1079  /**
1080   * Set the padding of the sub tab bar
1081   *
1082   * @param { Padding | Dimension } value - indicates the padding of the sub tab bar
1083   * @returns { SubTabBarStyle } the style of the sub tab bar
1084   * @syscap SystemCapability.ArkUI.ArkUI.Full
1085   * @crossplatform
1086   * @since 10
1087   */
1088  /**
1089   * Set the padding of the sub tab bar
1090   *
1091   * <p><strong>NOTE</strong>:
1092   * <br>It cannot be set in percentage.
1093   * <br>When the parameter is of the Dimension type, the value applies to all sides.
1094   * </p>
1095   *
1096   * @param { Padding | Dimension } value - indicates the padding of the sub tab bar, default value:
1097   *                                        left: 8.0vp, right: 8.0vp, top: 17.0vp, bottom: 18.0vp.
1098   * @returns { SubTabBarStyle } the style of the sub tab bar
1099   * @syscap SystemCapability.ArkUI.ArkUI.Full
1100   * @crossplatform
1101   * @atomicservice
1102   * @since arkts {'1.1':'11','1.2':'20'}
1103   * @arkts 1.1&1.2
1104   */
1105  padding(value: Padding | Dimension): SubTabBarStyle;
1106
1107  /**
1108   * Set the padding of the sub tab bar
1109   *
1110   * <p><strong>NOTE</strong>:
1111   * <br>This API supports mirroring but does not support percentage-based settings.
1112   * </p>
1113   *
1114   * @param { LocalizedPadding } padding - indicates the padding of the sub tab bar, default value:
1115   *                                       start: LengthMetircs.vp(8), end: LengthMetircs.vp(8),
1116   *                                       top: LengthMetircs.vp(17), bottom: LengthMetircs.vp(18).
1117   * @returns { SubTabBarStyle } the style of the sub tab bar
1118   * @syscap SystemCapability.ArkUI.ArkUI.Full
1119   * @crossplatform
1120   * @atomicservice
1121   * @since arkts {'1.1':'12','1.2':'20'}
1122   * @arkts 1.1&1.2
1123   */
1124  padding(padding: LocalizedPadding): SubTabBarStyle;
1125
1126  /**
1127   * Set an id to the sub tab bar to identify it
1128   *
1129   * @param { string } value - id of the sub tab bar to identify it
1130   * @returns { SubTabBarStyle } the style of the sub tab bar
1131   * @syscap SystemCapability.ArkUI.ArkUI.Full
1132   * @crossplatform
1133   * @since 11
1134   */
1135  /**
1136   * Set an id to the sub tab bar to identify it
1137   *
1138   * @param { string } value - id of the sub tab bar to identify it
1139   * @returns { SubTabBarStyle } the style of the sub tab bar
1140   * @syscap SystemCapability.ArkUI.ArkUI.Full
1141   * @crossplatform
1142   * @atomicservice
1143   * @since arkts {'1.1':'12','1.2':'20'}
1144   * @arkts 1.1&1.2
1145   */
1146  id(value: string): SubTabBarStyle;
1147}
1148
1149/**
1150 * Define BottomTabBarStyle, the style is icon and text.
1151 *
1152 * @syscap SystemCapability.ArkUI.ArkUI.Full
1153 * @since 9
1154 */
1155/**
1156 * Define BottomTabBarStyle, the style is icon and text.
1157 *
1158 * @syscap SystemCapability.ArkUI.ArkUI.Full
1159 * @crossplatform
1160 * @since 10
1161 */
1162/**
1163 * Define BottomTabBarStyle, the style is icon and text.
1164 *
1165 * @syscap SystemCapability.ArkUI.ArkUI.Full
1166 * @crossplatform
1167 * @atomicservice
1168 * @since arkts {'1.1':'11','1.2':'20'}
1169 * @arkts 1.1&1.2
1170 */
1171declare class BottomTabBarStyle {
1172  /**
1173   * constructor.
1174   *
1175   * @param { ResourceStr } icon - indicates the icon of the bottom tab bar
1176   * @param { ResourceStr } text - indicates the text of the bottom tab bar
1177   * @syscap SystemCapability.ArkUI.ArkUI.Full
1178   * @since 9
1179   */
1180  /**
1181   * constructor.
1182   *
1183   * @param { ResourceStr } icon - indicates the icon of the bottom tab bar
1184   * @param { ResourceStr } text - indicates the text of the bottom tab bar
1185   * @syscap SystemCapability.ArkUI.ArkUI.Full
1186   * @crossplatform
1187   * @since 10
1188   */
1189  /**
1190   * constructor.
1191   *
1192   * @param { ResourceStr } icon - indicates the icon of the bottom tab bar
1193   * @param { ResourceStr } text - indicates the text of the bottom tab bar
1194   * @syscap SystemCapability.ArkUI.ArkUI.Full
1195   * @crossplatform
1196   * @atomicservice
1197   * @since 11
1198   */
1199  /**
1200   * constructor.
1201   *
1202   * @param { ResourceStr | TabBarSymbol } icon - indicates the icon of the bottom tab bar
1203   * @param { ResourceStr } text - indicates the text of the bottom tab bar
1204   * @syscap SystemCapability.ArkUI.ArkUI.Full
1205   * @crossplatform
1206   * @atomicservice
1207   * @since arkts {'1.1':'12','1.2':'20'}
1208   * @arkts 1.1&1.2
1209   */
1210  constructor(icon: ResourceStr | TabBarSymbol, text: ResourceStr);
1211
1212  /**
1213   * of.
1214   *
1215   * @param { ResourceStr } icon - indicates the icon of the bottom tab bar
1216   * @param { ResourceStr } text - indicates the text of the bottom tab bar
1217   * @returns { BottomTabBarStyle } the style of the bottom tab bar
1218   * @static
1219   * @syscap SystemCapability.ArkUI.ArkUI.Full
1220   * @crossplatform
1221   * @since 10
1222   */
1223  /**
1224   * of.
1225   *
1226   * @param { ResourceStr } icon - indicates the icon of the bottom tab bar
1227   * @param { ResourceStr } text - indicates the text of the bottom tab bar
1228   * @returns { BottomTabBarStyle } the style of the bottom tab bar
1229   * @static
1230   * @syscap SystemCapability.ArkUI.ArkUI.Full
1231   * @crossplatform
1232   * @atomicservice
1233   * @since 11
1234   */
1235  /**
1236   * Static constructor used to create a BottomTabBarStyle instance.
1237   *
1238   * @param { ResourceStr | TabBarSymbol } icon - indicates the icon of the bottom tab bar
1239   * @param { ResourceStr } text - indicates the text of the bottom tab bar
1240   * @returns { BottomTabBarStyle } the style of the bottom tab bar
1241   * @static
1242   * @syscap SystemCapability.ArkUI.ArkUI.Full
1243   * @crossplatform
1244   * @atomicservice
1245   * @since arkts {'1.1':'12','1.2':'20'}
1246   * @arkts 1.1&1.2
1247   */
1248  static of(icon: ResourceStr | TabBarSymbol, text: ResourceStr): BottomTabBarStyle;
1249
1250  /**
1251   * Set the label style of the indicator
1252   *
1253   * @param { LabelStyle } value - indicates the label style of the bottom tab bar
1254   * @returns { BottomTabBarStyle } the style of the bottom tab bar
1255   * @syscap SystemCapability.ArkUI.ArkUI.Full
1256   * @crossplatform
1257   * @since 10
1258   */
1259  /**
1260   * Sets the style of the label text and font for the bottom tab.
1261   *
1262   * @param { LabelStyle } value - style of the label text and font for the bottom tab.
1263   * @returns { BottomTabBarStyle } the style of the bottom tab bar
1264   * @syscap SystemCapability.ArkUI.ArkUI.Full
1265   * @crossplatform
1266   * @atomicservice
1267   * @since 11
1268   */
1269  labelStyle(value: LabelStyle): BottomTabBarStyle;
1270
1271  /**
1272   * Set the label style of the bottom tab bar
1273   *
1274   * @param { TabBarLabelStyle } style - indicates the label style of the bottom tab bar
1275   * @returns { BottomTabBarStyle } the style of the bottom tab bar
1276   * @syscap SystemCapability.ArkUI.ArkUI.Full
1277   * @atomicservice
1278   * @since 20
1279   * @arkts 1.2
1280   */
1281  labelStyle(style: TabBarLabelStyle): BottomTabBarStyle;
1282
1283  /**
1284   * Set the padding of the bottom tab bar
1285   *
1286   * @param { Padding | Dimension } value - indicates the padding of the bottom tab bar
1287   * @returns { BottomTabBarStyle } the style of the bottom tab bar
1288   * @syscap SystemCapability.ArkUI.ArkUI.Full
1289   * @crossplatform
1290   * @since 10
1291   */
1292  /**
1293   * Set the padding of the bottom tab bar
1294   *
1295   * @param { Padding | Dimension } value - indicates the padding of the bottom tab bar
1296   * @returns { BottomTabBarStyle } the style of the bottom tab bar
1297   * @syscap SystemCapability.ArkUI.ArkUI.Full
1298   * @crossplatform
1299   * @atomicservice
1300   * @since 11
1301   */
1302  /**
1303   * Set the padding of the bottom tab bar
1304   *
1305   * <p><strong>NOTE</strong>:
1306   * <br>It cannot be set in percentage.
1307   * <br>When the parameter is of the Dimension type, the value applies to all sides.
1308   * </p>
1309   *
1310   * @param { Padding | Dimension | LocalizedPadding } value - indicates the padding of the bottom tab bar
1311   * Default value is { left:4.0vp, right:4.0vp, top:0.0vp, bottom:0.0vp }.
1312   * @returns { BottomTabBarStyle } the style of the bottom tab bar
1313   * @syscap SystemCapability.ArkUI.ArkUI.Full
1314   * @crossplatform
1315   * @atomicservice
1316   * @since arkts {'1.1':'12','1.2':'20'}
1317   * @arkts 1.1&1.2
1318   */
1319  padding(value: Padding | Dimension | LocalizedPadding): BottomTabBarStyle;
1320
1321  /**
1322   * Set the layout mode of the bottom tab bar
1323   *
1324   * @param { LayoutMode } value - indicates the layout mode of the bottom tab bar
1325   * @returns { BottomTabBarStyle } the style of the bottom tab bar
1326   * @syscap SystemCapability.ArkUI.ArkUI.Full
1327   * @crossplatform
1328   * @since 10
1329   */
1330  /**
1331   * Sets the layout mode of the images and texts on the bottom tab.
1332   *
1333   * @param { LayoutMode } value - layout mode of the images and text on the bottom tab.
1334   * Default value is LayoutMode.VERTICAL.
1335   * @returns { BottomTabBarStyle } the style of the bottom tab bar
1336   * @syscap SystemCapability.ArkUI.ArkUI.Full
1337   * @crossplatform
1338   * @atomicservice
1339   * @since arkts {'1.1':'11','1.2':'20'}
1340   * @arkts 1.1&1.2
1341   */
1342  layoutMode(value: LayoutMode): BottomTabBarStyle;
1343
1344  /**
1345   * Set the vertical alignment style of the bottom tab bar
1346   *
1347   * @param { VerticalAlign } value - indicates the vertical alignment of the bottom tab bar
1348   * @returns { BottomTabBarStyle } the style of the bottom tab bar
1349   * @syscap SystemCapability.ArkUI.ArkUI.Full
1350   * @crossplatform
1351   * @since 10
1352   */
1353  /**
1354   * Sets the vertical alignment mode of the images and text on the bottom tab.
1355   *
1356   * @param { VerticalAlign } value - vertical alignment mode of the images and text on the bottom tab.
1357   * Default value is VerticalAlign.Center.
1358   * @returns { BottomTabBarStyle } the style of the bottom tab bar
1359   * @syscap SystemCapability.ArkUI.ArkUI.Full
1360   * @crossplatform
1361   * @atomicservice
1362   * @since arkts {'1.1':'11','1.2':'20'}
1363   * @arkts 1.1&1.2
1364   */
1365  verticalAlign(value: VerticalAlign): BottomTabBarStyle;
1366
1367  /**
1368   * Set the symmetric extensible of the bottom tab bar
1369   *
1370   * @param { boolean } value - indicates whether the bottom tab bar is extensible
1371   * @returns { BottomTabBarStyle } the style of the bottom tab bar
1372   * @syscap SystemCapability.ArkUI.ArkUI.Full
1373   * @crossplatform
1374   * @since 10
1375   */
1376  /**
1377   * Sets whether the images and text on the bottom tab can be symmetrically extended by
1378   * the minimum value of the available space on the left and right bottom tabs.
1379   *
1380   * <p><strong>NOTE</strong>:
1381   * <br>This parameter is valid only between bottom tabs in fixed horizontal mode.
1382   * </p>
1383   *
1384   * @param { boolean } value - indicates whether the bottom tab bar is extensible. Default value is false.
1385   * @returns { BottomTabBarStyle } the style of the bottom tab bar
1386   * @syscap SystemCapability.ArkUI.ArkUI.Full
1387   * @crossplatform
1388   * @atomicservice
1389   * @since arkts {'1.1':'11','1.2':'20'}
1390   * @arkts 1.1&1.2
1391   */
1392  symmetricExtensible(value: boolean): BottomTabBarStyle;
1393
1394  /**
1395   * Set an id to the bottom tab bar to identify it
1396   *
1397   * @param { string } value - id of the bottom tab bar to identify it
1398   * @returns { BottomTabBarStyle } the style of the bottom tab bar
1399   * @syscap SystemCapability.ArkUI.ArkUI.Full
1400   * @crossplatform
1401   * @since 11
1402   */
1403  /**
1404   * Set an id to the bottom tab bar to identify it
1405   *
1406   * @param { string } value - id of the bottom tab bar to identify it
1407   * @returns { BottomTabBarStyle } the style of the bottom tab bar
1408   * @syscap SystemCapability.ArkUI.ArkUI.Full
1409   * @crossplatform
1410   * @atomicservice
1411   * @since arkts {'1.1':'12','1.2':'20'}
1412   * @arkts 1.1&1.2
1413   */
1414  id(value: string): BottomTabBarStyle;
1415
1416  /**
1417   * Sets the style of the label icon on the bottom tab.
1418   *
1419   * @param { TabBarIconStyle } style - style of the label icon on the bottom tab.
1420   * @returns { BottomTabBarStyle } the style of the bottom tab bar
1421   * @syscap SystemCapability.ArkUI.ArkUI.Full
1422   * @crossplatform
1423   * @atomicservice
1424   * @since arkts {'1.1':'12','1.2':'20'}
1425   * @arkts 1.1&1.2
1426   */
1427  iconStyle(style: TabBarIconStyle): BottomTabBarStyle;
1428}
1429
1430/**
1431 * Provides an interface for switching the content view on a tab page.
1432 *
1433 * @interface TabContentInterface
1434 * @syscap SystemCapability.ArkUI.ArkUI.Full
1435 * @since 7
1436 */
1437/**
1438 * Provides an interface for switching the content view on a tab page.
1439 *
1440 * @interface TabContentInterface
1441 * @syscap SystemCapability.ArkUI.ArkUI.Full
1442 * @crossplatform
1443 * @since 10
1444 */
1445/**
1446 * Provides an interface for switching the content view on a tab page.
1447 *
1448 * @interface TabContentInterface
1449 * @syscap SystemCapability.ArkUI.ArkUI.Full
1450 * @crossplatform
1451 * @atomicservice
1452 * @since arkts {'1.1':'11','1.2':'20'}
1453 * @arkts 1.1&1.2
1454 */
1455interface TabContentInterface {
1456  /**
1457   * Called when the content view of the switch tab is set.
1458   *
1459   * @returns { TabContentAttribute }
1460   * @syscap SystemCapability.ArkUI.ArkUI.Full
1461   * @since 7
1462   */
1463  /**
1464   * Called when the content view of the switch tab is set.
1465   *
1466   * @returns { TabContentAttribute }
1467   * @syscap SystemCapability.ArkUI.ArkUI.Full
1468   * @crossplatform
1469   * @since 10
1470   */
1471  /**
1472   * Called when the content view of the switch tab is set.
1473   *
1474   * @returns { TabContentAttribute }
1475   * @syscap SystemCapability.ArkUI.ArkUI.Full
1476   * @crossplatform
1477   * @atomicservice
1478   * @since arkts {'1.1':'11','1.2':'20'}
1479   * @arkts 1.1&1.2
1480   */
1481  (): TabContentAttribute;
1482}
1483
1484/**
1485 * Defines the attribute functions of TabContent.
1486 *
1487 * @extends CommonMethod<TabContentAttribute>
1488 * @syscap SystemCapability.ArkUI.ArkUI.Full
1489 * @since 7
1490 */
1491/**
1492 * Defines the attribute functions of TabContent.
1493 *
1494 * @extends CommonMethod<TabContentAttribute>
1495 * @syscap SystemCapability.ArkUI.ArkUI.Full
1496 * @crossplatform
1497 * @since 10
1498 */
1499/**
1500 * Defines the attribute functions of TabContent.
1501 *
1502 * @extends CommonMethod<TabContentAttribute>
1503 * @syscap SystemCapability.ArkUI.ArkUI.Full
1504 * @crossplatform
1505 * @atomicservice
1506 * @since arkts {'1.1':'11','1.2':'20'}
1507 * @arkts 1.1&1.2
1508 */
1509declare class TabContentAttribute extends CommonMethod<TabContentAttribute> {
1510  /**
1511   * Called when tabbar is entered.
1512   *
1513   * @param { string | Resource | { icon?: string | Resource; text?: string | Resource } } value
1514   * @returns { TabContentAttribute }
1515   * @syscap SystemCapability.ArkUI.ArkUI.Full
1516   * @since 7
1517   */
1518  /**
1519   * Called when tabbar is entered.
1520   *
1521   * @param { string | Resource | CustomBuilder | { icon?: string | Resource; text?: string | Resource } } value
1522   * @returns { TabContentAttribute }
1523   * @syscap SystemCapability.ArkUI.ArkUI.Full
1524   * @since 8
1525   */
1526  /**
1527   * Called when tabbar is entered.
1528   *
1529   * @param { string | Resource | CustomBuilder | { icon?: string | Resource; text?: string | Resource } } value
1530   * @returns { TabContentAttribute }
1531   * @syscap SystemCapability.ArkUI.ArkUI.Full
1532   * @crossplatform
1533   * @since 10
1534   */
1535  /**
1536   * Called when tabbar is entered.
1537   *
1538   * @param { string | Resource | CustomBuilder | { icon?: string | Resource; text?: string | Resource } } value
1539   * @returns { TabContentAttribute }
1540   * @syscap SystemCapability.ArkUI.ArkUI.Full
1541   * @crossplatform
1542   * @atomicservice
1543   * @since 11
1544   */
1545  /**
1546   * Sets the content displayed on the tab bar.
1547   * Anonymous Object Rectification
1548   *
1549   * <p><strong>NOTE</strong>:
1550   * <br>If the content set exceeds the space provided by the tab bar, it will be clipped.
1551   * </p>
1552   *
1553   * @param { string | Resource | CustomBuilder | TabBarOptions } options - Content displayed on the tab bar.
1554   * @returns { TabContentAttribute }
1555   * @syscap SystemCapability.ArkUI.ArkUI.Full
1556   * @crossplatform
1557   * @atomicservice
1558   * @since 18
1559   */
1560  tabBar(options: string | Resource | CustomBuilder | TabBarOptions): TabContentAttribute;
1561
1562  /**
1563   * Called when tabbar is entered.
1564   *
1565   * @param { SubTabBarStyle | BottomTabBarStyle } value
1566   * @returns { TabContentAttribute }
1567   * @syscap SystemCapability.ArkUI.ArkUI.Full
1568   * @since 9
1569   */
1570  /**
1571   * Called when tabbar is entered.
1572   *
1573   * @param { SubTabBarStyle | BottomTabBarStyle } value
1574   * @returns { TabContentAttribute }
1575   * @syscap SystemCapability.ArkUI.ArkUI.Full
1576   * @crossplatform
1577   * @since 10
1578   */
1579  /**
1580   * Sets the content displayed on the tab bar.
1581   *
1582   * <p><strong>NOTE</strong>:
1583   * <br>The bottom tab style does not include an indicator.
1584   * <br>When an icon display error occurs, a gray blank block is displayed.
1585   * </p>
1586   *
1587   * @param { SubTabBarStyle | BottomTabBarStyle } value - Content displayed on the tab bar.
1588   * @returns { TabContentAttribute }
1589   * @syscap SystemCapability.ArkUI.ArkUI.Full
1590   * @crossplatform
1591   * @atomicservice
1592   * @since 11
1593   */
1594  tabBar(value: SubTabBarStyle | BottomTabBarStyle): TabContentAttribute;
1595
1596  /**
1597   * Sets the content displayed on the tab bar.
1598   * Anonymous Object Rectification
1599   *
1600   * <p><strong>NOTE</strong>:
1601   * <br>If BottomTabBarStyle or TabBarOptions is used and an icon is set,
1602   * a gray block will be displayed if the icon is invalid.
1603   * <br>If the content exceeds the space provided by the tab bar, it will be clipped.
1604   * </p>
1605   *
1606   * @param { ComponentContent | SubTabBarStyle | BottomTabBarStyle | string | Resource | CustomBuilder | TabBarOptions } content
1607   * Content displayed on the tab bar.
1608   * @returns { TabContentAttribute }
1609   * @syscap SystemCapability.ArkUI.ArkUI.Full
1610   * @crossplatform
1611   * @atomicservice
1612   * @since arkts {'1.1':'18','1.2':'20'}
1613   * @arkts 1.1&1.2
1614   */
1615  tabBar(content: ComponentContent | SubTabBarStyle | BottomTabBarStyle | string | Resource | CustomBuilder |
1616    TabBarOptions): TabContentAttribute;
1617
1618  /**
1619   * Called when the tab content is about to be displayed. The scenarios include the first-time display,
1620   * tab switching, page switching, and window switching between the foreground and background.
1621   *
1622   * @param { VoidCallback  } event
1623   * @returns { TabContentAttribute }
1624   * @syscap SystemCapability.ArkUI.ArkUI.Full
1625   * @crossplatform
1626   * @atomicservice
1627   * @since arkts {'1.1':'12','1.2':'20'}
1628   * @arkts 1.1&1.2
1629   */
1630  onWillShow(event: VoidCallback): TabContentAttribute;
1631
1632  /**
1633   * Called when the tab content is about to be hidden. The scenarios include the tab switching,
1634   * page switching, and window switching between the foreground and background.
1635   *
1636   * @param { VoidCallback  } event
1637   * @returns { TabContentAttribute }
1638   * @syscap SystemCapability.ArkUI.ArkUI.Full
1639   * @crossplatform
1640   * @atomicservice
1641   * @since arkts {'1.1':'12','1.2':'20'}
1642   * @arkts 1.1&1.2
1643   */
1644  onWillHide(event: VoidCallback): TabContentAttribute;
1645}
1646
1647/**
1648 * Defines TabContent Component.
1649 *
1650 * @syscap SystemCapability.ArkUI.ArkUI.Full
1651 * @since 7
1652 */
1653/**
1654 * Defines TabContent Component.
1655 *
1656 * @syscap SystemCapability.ArkUI.ArkUI.Full
1657 * @crossplatform
1658 * @since 10
1659 */
1660/**
1661 * Defines TabContent Component.
1662 *
1663 * @syscap SystemCapability.ArkUI.ArkUI.Full
1664 * @crossplatform
1665 * @atomicservice
1666 * @since 11
1667 */
1668declare const TabContent: TabContentInterface;
1669
1670/**
1671 * Defines TabContent Component instance.
1672 *
1673 * @syscap SystemCapability.ArkUI.ArkUI.Full
1674 * @since 7
1675 */
1676/**
1677 * Defines TabContent Component instance.
1678 *
1679 * @syscap SystemCapability.ArkUI.ArkUI.Full
1680 * @crossplatform
1681 * @since 10
1682 */
1683/**
1684 * Defines TabContent Component instance.
1685 *
1686 * @syscap SystemCapability.ArkUI.ArkUI.Full
1687 * @crossplatform
1688 * @atomicservice
1689 * @since 11
1690 */
1691declare const TabContentInstance: TabContentAttribute;
1692