• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (c) 2022-2024 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/**
22 * Defines the navigation destination common title.
23 *
24 * @interface NavDestinationCommonTitle
25 * @syscap SystemCapability.ArkUI.ArkUI.Full
26 * @since 9
27 */
28/**
29 * Defines the navigation destination common title.
30 *
31 * @interface NavDestinationCommonTitle
32 * @syscap SystemCapability.ArkUI.ArkUI.Full
33 * @crossplatform
34 * @since 10
35 */
36/**
37 * Defines the navigation destination common title.
38 *
39 * @interface NavDestinationCommonTitle
40 * @syscap SystemCapability.ArkUI.ArkUI.Full
41 * @crossplatform
42 * @atomicservice
43 * @since 11
44 */
45declare interface NavDestinationCommonTitle {
46  /**
47   * Sets the main title.
48   *
49   * @type { string }
50   * @syscap SystemCapability.ArkUI.ArkUI.Full
51   * @since 9
52   */
53  /**
54   * Sets the main title.
55   *
56   * @type { string }
57   * @syscap SystemCapability.ArkUI.ArkUI.Full
58   * @crossplatform
59   * @since 10
60   */
61  /**
62   * Sets the main title.
63   *
64   * @type { string }
65   * @syscap SystemCapability.ArkUI.ArkUI.Full
66   * @crossplatform
67   * @atomicservice
68   * @since 11
69   */
70  /**
71   * Sets the main title.
72   *
73   * @type { string | Resource }
74   * @syscap SystemCapability.ArkUI.ArkUI.Full
75   * @crossplatform
76   * @atomicservice
77   * @since 14
78   */
79  main: string | Resource;
80
81  /**
82   * Sets the sub title.
83   *
84   * @type { string }
85   * @syscap SystemCapability.ArkUI.ArkUI.Full
86   * @since 9
87   */
88  /**
89   * Sets the sub title.
90   *
91   * @type { string }
92   * @syscap SystemCapability.ArkUI.ArkUI.Full
93   * @crossplatform
94   * @since 10
95   */
96  /**
97   * Sets the sub title.
98   *
99   * @type { string }
100   * @syscap SystemCapability.ArkUI.ArkUI.Full
101   * @crossplatform
102   * @atomicservice
103   * @since 11
104   */
105  /**
106   * Sets the sub title.
107   *
108   * @type { string | Resource }
109   * @syscap SystemCapability.ArkUI.ArkUI.Full
110   * @crossplatform
111   * @atomicservice
112   * @since 14
113   */
114  sub: string | Resource;
115}
116
117/**
118 * Defines the navigation destination custom title.
119 *
120 * @interface NavDestinationCustomTitle
121 * @syscap SystemCapability.ArkUI.ArkUI.Full
122 * @since 9
123 */
124/**
125 * Defines the navigation destination custom title.
126 *
127 * @interface NavDestinationCustomTitle
128 * @syscap SystemCapability.ArkUI.ArkUI.Full
129 * @crossplatform
130 * @since 10
131 */
132/**
133 * Defines the navigation destination custom title.
134 *
135 * @interface NavDestinationCustomTitle
136 * @syscap SystemCapability.ArkUI.ArkUI.Full
137 * @crossplatform
138 * @atomicservice
139 * @since 11
140 */
141declare interface NavDestinationCustomTitle {
142  /**
143   * Sets the custom title builder.
144   *
145   * @type { CustomBuilder }
146   * @syscap SystemCapability.ArkUI.ArkUI.Full
147   * @since 9
148   */
149  /**
150   * Sets the custom title builder.
151   *
152   * @type { CustomBuilder }
153   * @syscap SystemCapability.ArkUI.ArkUI.Full
154   * @crossplatform
155   * @since 10
156   */
157  /**
158   * Sets the custom title builder.
159   *
160   * @type { CustomBuilder }
161   * @syscap SystemCapability.ArkUI.ArkUI.Full
162   * @crossplatform
163   * @atomicservice
164   * @since 11
165   */
166  builder: CustomBuilder;
167
168  /**
169   * Sets the custom title height.
170   *
171   * @type { TitleHeight | Length }
172   * @syscap SystemCapability.ArkUI.ArkUI.Full
173   * @since 9
174   */
175  /**
176   * Sets the custom title height.
177   *
178   * @type { TitleHeight | Length }
179   * @syscap SystemCapability.ArkUI.ArkUI.Full
180   * @crossplatform
181   * @since 10
182   */
183  /**
184   * Sets the custom title height.
185   *
186   * @type { TitleHeight | Length }
187   * @syscap SystemCapability.ArkUI.ArkUI.Full
188   * @crossplatform
189   * @atomicservice
190   * @since 11
191   */
192  height: TitleHeight | Length;
193}
194
195/**
196 * Types of system Transition.
197 *
198 * @enum { number }
199 * @syscap SystemCapability.ArkUI.ArkUI.Full
200 * @crossplatform
201 * @atomicservice
202 * @since 14
203 */
204declare enum NavigationSystemTransitionType {
205  /**
206   * Default system transition.
207   *
208   * @syscap SystemCapability.ArkUI.ArkUI.Full
209   * @crossplatform
210   * @atomicservice
211   * @since 14
212   */
213  DEFAULT = 0,
214  /**
215   * None system transition.
216   *
217   * @syscap SystemCapability.ArkUI.ArkUI.Full
218   * @crossplatform
219   * @atomicservice
220   * @since 14
221   */
222  NONE = 1,
223  /**
224   * Configure only titlebar transition.
225   *
226   * @syscap SystemCapability.ArkUI.ArkUI.Full
227   * @crossplatform
228   * @atomicservice
229   * @since 14
230   */
231  TITLE = 2,
232  /**
233   * Configure only content transition.
234   *
235   * @syscap SystemCapability.ArkUI.ArkUI.Full
236   * @crossplatform
237   * @atomicservice
238   * @since 14
239   */
240  CONTENT = 3,
241  /**
242   * Configure fade style system transition.
243   *
244   * @syscap SystemCapability.ArkUI.ArkUI.Full
245   * @crossplatform
246   * @atomicservice
247   * @since 15
248   */
249  FADE = 4,
250  /**
251   * Configure explode style system transition.
252   *
253   * @syscap SystemCapability.ArkUI.ArkUI.Full
254   * @crossplatform
255   * @atomicservice
256   * @since 15
257   */
258  EXPLODE = 5,
259  /**
260   * Configure right-side slide style system transition.
261   *
262   * @syscap SystemCapability.ArkUI.ArkUI.Full
263   * @crossplatform
264   * @atomicservice
265   * @since 15
266   */
267  SLIDE_RIGHT = 6,
268  /**
269   * Configure bottom-side slide style system transition.
270   *
271   * @syscap SystemCapability.ArkUI.ArkUI.Full
272   * @crossplatform
273   * @atomicservice
274   * @since 15
275   */
276  SLIDE_BOTTOM = 7,
277}
278
279/**
280 * NavDestination mode.
281 *
282 * @enum { number }
283 * @syscap SystemCapability.ArkUI.ArkUI.Full
284 * @crossplatform
285 * @since 11
286 */
287/**
288 * NavDestination mode.
289 *
290 * @enum { number }
291 * @syscap SystemCapability.ArkUI.ArkUI.Full
292 * @crossplatform
293 * @atomicservice
294 * @since 12
295 */
296declare enum NavDestinationMode {
297  /**
298   * Standard mode is default mode of NavDestination.
299   *
300   * @syscap SystemCapability.ArkUI.ArkUI.Full
301   * @crossplatform
302   * @since 11
303   */
304  /**
305   * Standard mode is default mode of NavDestination.
306   *
307   * @syscap SystemCapability.ArkUI.ArkUI.Full
308   * @crossplatform
309   * @atomicservice
310   * @since 12
311   */
312  STANDARD = 0,
313
314  /**
315   * Dialog mode is transparent by default and does not affect the life cycle of other NavDestination.
316   *
317   * @syscap SystemCapability.ArkUI.ArkUI.Full
318   * @crossplatform
319   * @since 11
320   */
321  /**
322   * Dialog mode is transparent by default and does not affect the life cycle of other NavDestination.
323   *
324   * @syscap SystemCapability.ArkUI.ArkUI.Full
325   * @crossplatform
326   * @atomicservice
327   * @since 12
328   */
329  DIALOG = 1,
330}
331
332/**
333 * The construct function of NavDestination.
334 *
335 * @interface NavDestinationInterface
336 * @syscap SystemCapability.ArkUI.ArkUI.Full
337 * @since 9
338 */
339/**
340 * The construct function of NavDestination.
341 *
342 * @interface NavDestinationInterface
343 * @syscap SystemCapability.ArkUI.ArkUI.Full
344 * @crossplatform
345 * @since 10
346 */
347/**
348 * The construct function of NavDestination.
349 *
350 * @interface NavDestinationInterface
351 * @syscap SystemCapability.ArkUI.ArkUI.Full
352 * @crossplatform
353 * @atomicservice
354 * @since 11
355 */
356declare interface NavDestinationInterface {
357  /**
358   * Constructor.
359   *
360   * @returns { NavDestinationAttribute }
361   * @syscap SystemCapability.ArkUI.ArkUI.Full
362   * @since 9
363   */
364  /**
365   * Constructor.
366   *
367   * @returns { NavDestinationAttribute }
368   * @syscap SystemCapability.ArkUI.ArkUI.Full
369   * @crossplatform
370   * @since 10
371   */
372  /**
373   * Constructor.
374   *
375   * @returns { NavDestinationAttribute }
376   * @syscap SystemCapability.ArkUI.ArkUI.Full
377   * @crossplatform
378   * @atomicservice
379   * @since 11
380   */
381  (): NavDestinationAttribute;
382}
383
384/**
385 * Indicates configuration info of destination.
386 *
387 * @interface RouteMapConfig
388 * @syscap SystemCapability.ArkUI.ArkUI.Full
389 * @crossplatform
390 * @atomicservice
391 * @since 12
392 */
393declare interface RouteMapConfig {
394  /**
395   * Get destination name.
396   *
397   * @type { string }
398   * @syscap SystemCapability.ArkUI.ArkUI.Full
399   * @crossplatform
400   * @atomicservice
401   * @since 12
402   */
403  name: string;
404
405  /**
406   * Get destination builder file position
407   *
408   * @type { string }
409   * @syscap SystemCapability.ArkUI.ArkUI.Full
410   * @crossplatform
411   * @atomicservice
412   * @since 12
413   */
414  pageSourceFile: string;
415
416  /**
417   * Indicate the custom data of current destination.
418   *
419   * @type { Object }
420   * @syscap SystemCapability.ArkUI.ArkUI.Full
421   * @crossplatform
422   * @atomicservice
423   * @since 12
424   */
425  data: Object
426}
427
428/**
429 * Indicates the context of NavDestination.
430 *
431 * @interface NavDestinationContext
432 * @syscap SystemCapability.ArkUI.ArkUI.Full
433 * @crossplatform
434 * @atomicservice
435 * @since 11
436 */
437declare interface NavDestinationContext {
438  /**
439   * Get path info.
440   *
441   * @type { NavPathInfo }
442   * @syscap SystemCapability.ArkUI.ArkUI.Full
443   * @crossplatform
444   * @atomicservice
445   * @since 11
446   */
447  pathInfo: NavPathInfo;
448
449  /**
450   * Get stack of the Navigation where the NavDestination is located.
451   *
452   * @type { NavPathStack }
453   * @syscap SystemCapability.ArkUI.ArkUI.Full
454   * @crossplatform
455   * @atomicservice
456   * @since 11
457   */
458  pathStack: NavPathStack;
459
460  /**
461   * Get the unique id of NavDestination, which is different from common property id of Component.
462   *
463   * @type { ?string }
464   * @syscap SystemCapability.ArkUI.ArkUI.Full
465   * @crossplatform
466   * @atomicservice
467   * @since 12
468   */
469  navDestinationId?: string;
470
471  /**
472   * Get configuration of current Destination in module.json
473   *
474   * @returns {RouteMapConfig | undefined}
475   *
476   * @syscap SystemCapability.ArkUI.ArkUI.Full
477   * @crossplatform
478   * @atomicservice
479   * @since 12
480   */
481  getConfigInRouteMap(): RouteMapConfig | undefined;
482}
483
484/**
485 * Indicates the nested scrollable container components.
486 *
487 * @interface NestedScrollInfo
488 * @syscap SystemCapability.ArkUI.ArkUI.Full
489 * @crossplatform
490 * @atomicservice
491 * @since 14
492 */
493declare interface NestedScrollInfo {
494  /**
495   * The controller of parent scrollable container component.
496   *
497   * @type { Scroller }
498   * @syscap SystemCapability.ArkUI.ArkUI.Full
499   * @crossplatform
500   * @atomicservice
501   * @since 14
502   */
503  parent: Scroller;
504
505  /**
506   * The controller of child scrollable container component.
507   *
508   * @type { Scroller }
509   * @syscap SystemCapability.ArkUI.ArkUI.Full
510   * @crossplatform
511   * @atomicservice
512   * @since 14
513   */
514  child: Scroller;
515}
516
517/**
518* NavDestination animation protocol.
519*
520* @interface NavDestinationTransition
521* @syscap SystemCapability.ArkUI.ArkUI.Full
522* @crossplatform
523* @atomicservice
524* @since 15
525*/
526declare interface NavDestinationTransition {
527  /**
528   * This method is called after the transition ends to notify whether the transition was successful.
529   *
530   * @type { ?Callback<void> }
531   * @syscap SystemCapability.ArkUI.ArkUI.Full
532   * @crossplatform
533   * @atomicservice
534   * @since 15
535   */
536  onTransitionEnd?: Callback<void>;
537
538  /**
539   * Define the limit duration of the transition animation.
540   *
541   * @type { ?number }
542   * @syscap SystemCapability.ArkUI.ArkUI.Full
543   * @crossplatform
544   * @atomicservice
545   * @since 15
546   */
547  duration?: number;
548
549  /**
550   * Define the curve of the transition animation.
551   *
552   * @type { ?Curve }
553   * @syscap SystemCapability.ArkUI.ArkUI.Full
554   * @crossplatform
555   * @atomicservice
556   * @since 15
557   */
558  curve?: Curve;
559
560  /**
561   * Define the delay of the transition animation.
562   *
563   * @type { ?number }
564   * @syscap SystemCapability.ArkUI.ArkUI.Full
565   * @crossplatform
566   * @atomicservice
567   * @since 15
568   */
569  delay?: number;
570
571  /**
572   * Configure the custom transition event.
573   *
574   * @type { Callback<void> }
575   * @syscap SystemCapability.ArkUI.ArkUI.Full
576   * @crossplatform
577   * @atomicservice
578   * @since 15
579   */
580  event: Callback<void>;
581}
582
583/**
584 * The attribute function of NavDestination
585 *
586 * @extends CommonMethod<NavDestinationAttribute>
587 * @syscap SystemCapability.ArkUI.ArkUI.Full
588 * @since 9
589 */
590/**
591 * The attribute function of NavDestination
592 *
593 * @extends CommonMethod<NavDestinationAttribute>
594 * @syscap SystemCapability.ArkUI.ArkUI.Full
595 * @crossplatform
596 * @since 10
597 */
598/**
599 * The attribute function of NavDestination
600 *
601 * @extends CommonMethod<NavDestinationAttribute>
602 * @syscap SystemCapability.ArkUI.ArkUI.Full
603 * @crossplatform
604 * @atomicservice
605 * @since 11
606 */
607declare class NavDestinationAttribute extends CommonMethod<NavDestinationAttribute> {
608  /**
609   * Navigation title bar
610   *
611   * @param { string | CustomBuilder | NavDestinationCommonTitle | NavDestinationCustomTitle } value
612   * @returns { NavDestinationAttribute }
613   * @syscap SystemCapability.ArkUI.ArkUI.Full
614   * @since 9
615   */
616  /**
617   * Navigation title bar
618   *
619   * @param { string | CustomBuilder | NavDestinationCommonTitle | NavDestinationCustomTitle } value
620   * @returns { NavDestinationAttribute }
621   * @syscap SystemCapability.ArkUI.ArkUI.Full
622   * @crossplatform
623   * @since 10
624   */
625  /**
626   * Navigation title bar
627   *
628   * @param { string | CustomBuilder | NavDestinationCommonTitle | NavDestinationCustomTitle } value
629   * @returns { NavDestinationAttribute }
630   * @syscap SystemCapability.ArkUI.ArkUI.Full
631   * @crossplatform
632   * @atomicservice
633   * @since 11
634   */
635  /**
636   * NavDestination title bar
637   *
638   * @param { string | CustomBuilder | NavDestinationCommonTitle | NavDestinationCustomTitle } value
639   * @param { NavigationTitleOptions } [options] - Indicates the options of titlebar.
640   * @returns { NavDestinationAttribute }
641   * @syscap SystemCapability.ArkUI.ArkUI.Full
642   * @crossplatform
643   * @atomicservice
644   * @since 12
645   */
646  /**
647   * NavDestination title bar
648   *
649   * @param { string | CustomBuilder | NavDestinationCommonTitle | NavDestinationCustomTitle | Resource } value
650   * @param { NavigationTitleOptions } [options] - Indicates the options of titlebar.
651   * @returns { NavDestinationAttribute }
652   * @syscap SystemCapability.ArkUI.ArkUI.Full
653   * @crossplatform
654   * @atomicservice
655   * @since 14
656   */
657  title(value: string | CustomBuilder | NavDestinationCommonTitle | NavDestinationCustomTitle | Resource,
658        options?: NavigationTitleOptions): NavDestinationAttribute;
659
660  /**
661   * Hide navigation title bar
662   *
663   * @param { boolean } value
664   * @returns { NavDestinationAttribute }
665   * @syscap SystemCapability.ArkUI.ArkUI.Full
666   * @since 9
667   */
668  /**
669   * Hide navigation title bar
670   *
671   * @param { boolean } value
672   * @returns { NavDestinationAttribute }
673   * @syscap SystemCapability.ArkUI.ArkUI.Full
674   * @crossplatform
675   * @since 10
676   */
677  /**
678   * Hide navigation title bar
679   *
680   * @param { boolean } value
681   * @returns { NavDestinationAttribute }
682   * @syscap SystemCapability.ArkUI.ArkUI.Full
683   * @crossplatform
684   * @atomicservice
685   * @since 11
686   */
687  hideTitleBar(value: boolean): NavDestinationAttribute;
688
689  /**
690   * Hide navigation title bar
691   *
692   * @param { boolean } hide
693   * @param { boolean } animated
694   * @returns { NavDestinationAttribute }
695   * @syscap SystemCapability.ArkUI.ArkUI.Full
696   * @crossplatform
697   * @atomicservice
698   * @since 13
699   */
700  hideTitleBar(hide: boolean, animated: boolean): NavDestinationAttribute;
701
702  /**
703   * Hide navDestination back button
704   *
705   * @param { Optional<boolean> } hide
706   * @returns { NavDestinationAttribute }
707   * @syscap SystemCapability.ArkUI.ArkUI.Full
708   * @crossplatform
709   * @atomicservice
710   * @since 15
711   */
712  hideBackButton(hide: Optional<boolean>): NavDestinationAttribute;
713
714  /**
715   * Invoked when the navDestination page is displayed.
716   *
717   * @param { function } callback - Indicates callback when the navDestination page is displayed.
718   * @returns { NavDestinationAttribute }
719   * @syscap SystemCapability.ArkUI.ArkUI.Full
720   * @crossplatform
721   * @since 10
722   */
723  /**
724   * Invoked when the navDestination page is displayed.
725   *
726   * @param { function } callback - Indicates callback when the navDestination page is displayed.
727   * @returns { NavDestinationAttribute }
728   * @syscap SystemCapability.ArkUI.ArkUI.Full
729   * @crossplatform
730   * @atomicservice
731   * @since 11
732   */
733  onShown(callback: () => void): NavDestinationAttribute;
734
735  /**
736   * Invoked when the navDestination is hidden.
737   *
738   * @param { function } callback - Indicates callback when the navDestination is hidden.
739   * @returns { NavDestinationAttribute }
740   * @syscap SystemCapability.ArkUI.ArkUI.Full
741   * @crossplatform
742   * @since 10
743   */
744  /**
745   * Invoked when the navDestination is hidden.
746   *
747   * @param { function } callback - Indicates callback when the navDestination is hidden.
748   * @returns { NavDestinationAttribute }
749   * @syscap SystemCapability.ArkUI.ArkUI.Full
750   * @crossplatform
751   * @atomicservice
752   * @since 11
753   */
754  onHidden(callback: () => void): NavDestinationAttribute;
755
756  /**
757   * Invoked when the backButton is pressed.
758   *
759   * @param { function } callback - Indicates callback when the backButton is pressed.
760   * @returns { NavDestinationAttribute }
761   * @syscap SystemCapability.ArkUI.ArkUI.Full
762   * @crossplatform
763   * @since 10
764   */
765  /**
766   * Invoked when the backButton is pressed.
767   *
768   * @param { function } callback - Indicates callback when the backButton is pressed.
769   * @returns { NavDestinationAttribute }
770   * @syscap SystemCapability.ArkUI.ArkUI.Full
771   * @crossplatform
772   * @atomicservice
773   * @since 11
774   */
775  onBackPressed(callback: () => boolean): NavDestinationAttribute;
776
777  /**
778   * Invoked when pop to the navDestination with result.
779   *
780   * @param {Optional<Callback<ESObject>>} callback - Indicates callback when pop to the navDestination with result.
781   * @returns {NavDestinationAttribute}
782   * @syscap SystemCapability.ArkUI.ArkUI.Full
783   * @crossplatform
784   * @atomicservice
785   * @since 15
786   */
787  onResult(callback: Optional<Callback<ESObject>>): NavDestinationAttribute;
788
789  /**
790   * Sets the different mode of NavDestination.
791   *
792   * @param { NavDestinationMode } value - NavDestinationMode
793   * @returns { NavDestinationAttribute }
794   * @syscap SystemCapability.ArkUI.ArkUI.Full
795   * @crossplatform
796   * @since 11
797   */
798  /**
799   * Sets the different mode of NavDestination.
800   *
801   * @param { NavDestinationMode } value - NavDestinationMode
802   * @returns { NavDestinationAttribute }
803   * @syscap SystemCapability.ArkUI.ArkUI.Full
804   * @crossplatform
805   * @atomicservice
806   * @since 12
807   */
808  mode(value: NavDestinationMode): NavDestinationAttribute;
809
810  /**
811   * Set back button icon.
812   *
813   * @param { ResourceStr | PixelMap } value - Indicates icon of back button.
814   * @returns { NavDestinationAttribute }
815   * @syscap SystemCapability.ArkUI.ArkUI.Full
816   * @crossplatform
817   * @since 11
818   */
819  /**
820   * Set back button icon.
821   *
822   * @param { ResourceStr | PixelMap | SymbolGlyphModifier } value - Indicates icon of back button.
823   * @returns { NavDestinationAttribute }
824   * @syscap SystemCapability.ArkUI.ArkUI.Full
825   * @crossplatform
826   * @atomicservice
827   * @since 12
828   */
829  backButtonIcon(value: ResourceStr | PixelMap | SymbolGlyphModifier): NavDestinationAttribute;
830
831  /**
832   * NavDestination title bar's menus
833   *
834   * @param { Array<NavigationMenuItem> | CustomBuilder } value
835   * @returns { NavDestinationAttribute }
836   * @syscap SystemCapability.ArkUI.ArkUI.Full
837   * @crossplatform
838   * @atomicservice
839   * @since 12
840   */
841  menus(value: Array<NavigationMenuItem> | CustomBuilder): NavDestinationAttribute;
842
843  /**
844    * Configure toolbar with default style parameter or custom parameter.
845    *
846    * @param { Array<ToolbarItem> | CustomBuilder } toolbarParam - Toolbar configuration parameters.
847    * @param { NavigationToolbarOptions } [options] - Indicates the options of toolbar.
848    * @returns { NavDestinationAttribute }
849    * @syscap SystemCapability.ArkUI.ArkUI.Full
850    * @crossplatform
851    * @atomicservice
852    * @since 13
853    */
854  toolbarConfiguration(toolbarParam: Array<ToolbarItem> | CustomBuilder, options?: NavigationToolbarOptions): NavDestinationAttribute;
855
856  /**
857   * Hide tool bar
858   *
859   * @param { boolean } hide
860   * @param { boolean } [animated]
861   * @returns { NavDestinationAttribute }
862   * @syscap SystemCapability.ArkUI.ArkUI.Full
863   * @crossplatform
864   * @atomicservice
865   * @since 13
866   */
867  hideToolBar(hide: boolean, animated?: boolean): NavDestinationAttribute;
868
869  /**
870   * Invoked before sub-components of NavDestination are created.
871   *
872   * @param { import('../api/@ohos.base').Callback<NavDestinationContext> } callback
873   * - Indicates callback that invoked before sub-components of NavDestination are created.
874   * @returns { NavDestinationAttribute }
875   * @syscap SystemCapability.ArkUI.ArkUI.Full
876   * @crossplatform
877   * @atomicservice
878   * @since 11
879   */
880  onReady(callback: import('../api/@ohos.base').Callback<NavDestinationContext>): NavDestinationAttribute;
881
882  /**
883   * Invoked before the navDestination is appeared.
884   *
885   * @param { Callback<void> } callback - Indicates callback before the navDestination is appeared.
886   * @returns { NavDestinationAttribute }
887   * @syscap SystemCapability.ArkUI.ArkUI.Full
888   * @crossplatform
889   * @atomicservice
890   * @since 12
891   */
892  onWillAppear(callback: Callback<void>): NavDestinationAttribute;
893
894  /**
895   * Invoked before the navDestination is disappeared.
896   *
897   * @param { Callback<void> } callback - Indicates callback before the navDestination is disappeared.
898   * @returns { NavDestinationAttribute }
899   * @syscap SystemCapability.ArkUI.ArkUI.Full
900   * @crossplatform
901   * @atomicservice
902   * @since 12
903   */
904  onWillDisappear(callback: Callback<void>): NavDestinationAttribute;
905
906  /**
907   * Invoked before the navDestination is displayed.
908   *
909   * @param { Callback<void> } callback - Indicates callback before the navDestination is displayed.
910   * @returns { NavDestinationAttribute }
911   * @syscap SystemCapability.ArkUI.ArkUI.Full
912   * @crossplatform
913   * @atomicservice
914   * @since 12
915   */
916  onWillShow(callback: Callback<void>): NavDestinationAttribute;
917
918  /**
919   * Invoked before the navDestination is hidden.
920   *
921   * @param { Callback<void> } callback - Indicates callback before the navDestination is hidden.
922   * @returns { NavDestinationAttribute }
923   * @syscap SystemCapability.ArkUI.ArkUI.Full
924   * @crossplatform
925   * @atomicservice
926   * @since 12
927   */
928  onWillHide(callback: Callback<void>): NavDestinationAttribute;
929
930  /**
931   * Set navDestination content expand types and edges.
932   *
933   * @param { Array<LayoutSafeAreaType> } [types] - Indicates the types of the safe area.
934   * @param { Array<LayoutSafeAreaEdge> } [edges] - Indicates the edges of the safe area.
935   * @returns { NavDestinationAttribute }
936   * @syscap SystemCapability.ArkUI.ArkUI.Full
937   * @crossplatform
938   * @atomicservice
939   * @since 12
940   */
941  ignoreLayoutSafeArea(types?: Array<LayoutSafeAreaType>, edges?: Array<LayoutSafeAreaEdge>): NavDestinationAttribute;
942
943  /**
944   * Set the style of system bar
945   *
946   * @param { Optional<SystemBarStyle> } style - The properties of system bar
947   * @returns { NavDestinationAttribute }
948   * @syscap SystemCapability.ArkUI.ArkUI.Full
949   * @atomicservice
950   * @since 12
951   */
952  systemBarStyle(style: Optional<SystemBarStyle>): NavDestinationAttribute;
953
954  /**
955   * Configuration of system transition
956   *
957   * @param { NavigationSystemTransitionType } type - Types of system Transition
958   * @returns { NavDestinationAttribute }
959   * @syscap SystemCapability.ArkUI.ArkUI.Full
960   * @crossplatform
961   * @atomicservice
962   * @since 14
963   */
964  systemTransition(type: NavigationSystemTransitionType): NavDestinationAttribute;
965
966  /**
967   * Set the NavDestination can be restored after the application is terminated.
968   * To enable this attribute, recoverable and id of Navigation must be set.
969   *
970   * @param { boolean } recoverable - set navdestination can be recovered.
971   * @returns { NavDestinationAttribute }
972   * @syscap SystemCapability.ArkUI.ArkUI.Full
973   * @since 14
974   */
975  recoverable(recoverable: Optional<boolean>): NavDestinationAttribute;
976
977  /**
978   * Bind NavDestination to scrollable container components to automatically hide titlebar and toolbar.
979   *
980   * @param { Array<Scroller> } scrollers - The controllers of the scrollable container components.
981   * @returns { NavDestinationAttribute } Returns the instance of the NavDestinationAttribute.
982   * @syscap SystemCapability.ArkUI.ArkUI.Full
983   * @crossplatform
984   * @atomicservice
985   * @since 14
986   */
987  bindToScrollable(scrollers: Array<Scroller>): NavDestinationAttribute;
988
989  /**
990   * Bind NavDestination to nested scrollable container components to automatically hide titlebar and toolbar.
991   *
992   * @param { Array<NestedScrollInfo> } scrollInfos - The controllers of the nested scrollable container components.
993   * @returns { NavDestinationAttribute } Returns the instance of the NavDestinationAttribute.
994   * @syscap SystemCapability.ArkUI.ArkUI.Full
995   * @crossplatform
996   * @atomicservice
997   * @since 14
998   */
999  bindToNestedScrollable(scrollInfos: Array<NestedScrollInfo>): NavDestinationAttribute;
1000
1001  /**
1002   * Set NavDestination custom animation.
1003   *
1004   * @param { NavDestinationTransitionDelegate } delegate - The delegate of NavDestination custom animation.
1005   * @returns { NavDestinationAttribute } Returns the instance of the NavDestinationAttribute.
1006   * @syscap SystemCapability.ArkUI.ArkUI.Full
1007   * @crossplatform
1008   * @atomicservice
1009   * @since 15
1010   */
1011    customTransition(delegate: NavDestinationTransitionDelegate): NavDestinationAttribute;
1012}
1013
1014/**
1015 * Defines NavDestination Component.
1016 *
1017 * @syscap SystemCapability.ArkUI.ArkUI.Full
1018 * @since 9
1019 */
1020/**
1021 * Defines NavDestination Component.
1022 *
1023 * @syscap SystemCapability.ArkUI.ArkUI.Full
1024 * @crossplatform
1025 * @since 10
1026 */
1027/**
1028 * Defines NavDestination Component.
1029 *
1030 * @syscap SystemCapability.ArkUI.ArkUI.Full
1031 * @crossplatform
1032 * @atomicservice
1033 * @since 11
1034 */
1035declare const NavDestination: NavDestinationInterface;
1036
1037/**
1038 * Defines NavDestination Component instance.
1039 *
1040 * @syscap SystemCapability.ArkUI.ArkUI.Full
1041 * @since 9
1042 */
1043/**
1044 * Defines NavDestination Component instance.
1045 *
1046 * @syscap SystemCapability.ArkUI.ArkUI.Full
1047 * @crossplatform
1048 * @since 10
1049 */
1050/**
1051 * Defines NavDestination Component instance.
1052 *
1053 * @syscap SystemCapability.ArkUI.ArkUI.Full
1054 * @crossplatform
1055 * @atomicservice
1056 * @since 11
1057 */
1058declare const NavDestinationInstance: NavDestinationAttribute;
1059
1060/**
1061 * Delegate function for NavDestination custom animation.
1062 *
1063 * @typedef { function } NavDestinationTransitionDelegate
1064 * @param { NavigationOperation } operation - the operation type of current Navigation animation.
1065 * @param { boolean } isEnter - whether current NavDestination will do enter-type transition.
1066 * @returns { Array<NavDestinationTransition> | undefined } user-set custom navDestination transitions.
1067 * @syscap SystemCapability.ArkUI.ArkUI.Full
1068 * @crossplatform
1069 * @atomicservice
1070 * @since 15
1071 */
1072declare type NavDestinationTransitionDelegate =
1073  (operation: NavigationOperation, isEnter: boolean) => Array<NavDestinationTransition> | undefined;