123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. import { AfterViewInit, ComponentFactoryResolver, ElementRef, ErrorHandler, NgZone, Renderer, ViewContainerRef } from '@angular/core';
  2. import { App } from '../app/app';
  3. import { Config } from '../../config/config';
  4. import { DeepLinker } from '../../navigation/deep-linker';
  5. import { DomController } from '../../platform/dom-controller';
  6. import { GestureController } from '../../gestures/gesture-controller';
  7. import { Nav as INav } from '../../navigation/nav-interfaces';
  8. import { NavController } from '../../navigation/nav-controller';
  9. import { NavControllerBase } from '../../navigation/nav-controller-base';
  10. import { NavOptions } from '../../navigation/nav-util';
  11. import { Platform } from '../../platform/platform';
  12. import { TransitionController } from '../../transitions/transition-controller';
  13. import { ViewController } from '../../navigation/view-controller';
  14. import { RootNode } from '../split-pane/split-pane';
  15. /**
  16. * @name Nav
  17. * @description
  18. *
  19. * `ion-nav` is the declarative component for a [NavController](../../../navigation/NavController/).
  20. *
  21. * For more information on using nav controllers like Nav or [Tab](../../Tabs/Tab/),
  22. * take a look at the [NavController API Docs](../../../navigation/NavController/).
  23. *
  24. *
  25. * @usage
  26. * You must set a root page to be loaded initially by any Nav you create, using
  27. * the 'root' property:
  28. *
  29. * ```ts
  30. * import { Component } from '@angular/core';
  31. * import { GettingStartedPage } from './getting-started';
  32. *
  33. * @Component({
  34. * template: `<ion-nav [root]="root"></ion-nav>`
  35. * })
  36. * class MyApp {
  37. * root = GettingStartedPage;
  38. *
  39. * constructor(){
  40. * }
  41. * }
  42. * ```
  43. *
  44. * @demo /docs/demos/src/navigation/
  45. * @see {@link /docs/components#navigation Navigation Component Docs}
  46. */
  47. export declare class Nav extends NavControllerBase implements AfterViewInit, RootNode, INav {
  48. private _root;
  49. private _hasInit;
  50. constructor(viewCtrl: ViewController, parent: NavController, app: App, config: Config, plt: Platform, elementRef: ElementRef, zone: NgZone, renderer: Renderer, cfr: ComponentFactoryResolver, gestureCtrl: GestureController, transCtrl: TransitionController, linker: DeepLinker, domCtrl: DomController, errHandler: ErrorHandler);
  51. /**
  52. * @hidden
  53. */
  54. _vp: ViewContainerRef;
  55. ngAfterViewInit(): Promise<any>;
  56. /**
  57. * @input {Page} The Page component to load as the root page within this nav.
  58. */
  59. root: any;
  60. /**
  61. * @input {object} Any nav-params to pass to the root page of this nav.
  62. */
  63. rootParams: any;
  64. /**
  65. * @input {string} a unique name for the nav element
  66. */
  67. name: string;
  68. /**
  69. * @hidden
  70. */
  71. ngOnDestroy(): void;
  72. initPane(): boolean;
  73. paneChanged(isPane: boolean): void;
  74. goToRoot(opts: NavOptions): Promise<any>;
  75. getType(): string;
  76. getSecondaryIdentifier(): string;
  77. }