import { EventsRegistry } from './events/EventsRegistry'; import { ComponentProvider } from 'react-native'; import { SharedElement } from './adapters/SharedElement'; import { NavigationConstants } from './adapters/Constants'; import { TouchablePreview } from './adapters/TouchablePreview'; import { LayoutRoot, Layout } from './interfaces/Layout'; import { Options } from './interfaces/Options'; export declare class NavigationRoot { readonly Element: typeof SharedElement; readonly TouchablePreview: typeof TouchablePreview; private readonly store; private readonly nativeEventsReceiver; private readonly uniqueIdProvider; private readonly componentRegistry; private readonly layoutTreeParser; private readonly layoutTreeCrawler; private readonly nativeCommandsSender; private readonly commands; private readonly eventsRegistry; private readonly commandsObserver; private readonly componentEventsObserver; private readonly componentWrapper; constructor(); /** * Every navigation component in your app must be registered with a unique name. * The component itself is a traditional React component extending React.Component. */ registerComponent(componentName: string | number, componentProvider: ComponentProvider, concreteComponentProvider?: ComponentProvider): ComponentProvider; /** * Utility helper function like registerComponent, * wraps the provided component with a react-redux Provider with the passed redux store */ registerComponentWithRedux(componentName: string | number, getComponentClassFunc: ComponentProvider, ReduxProvider: any, reduxStore: any): ComponentProvider; /** * Reset the app to a new layout */ setRoot(layout: LayoutRoot): Promise; /** * Set default options to all screens. Useful for declaring a consistent style across the app. */ setDefaultOptions(options: Options): void; /** * Change a component's navigation options */ mergeOptions(componentId: string, options: Options): void; /** * Show a screen as a modal. */ showModal

(layout: Layout

): Promise; /** * Dismiss a modal by componentId. The dismissed modal can be anywhere in the stack. */ dismissModal(componentId: string, mergeOptions?: Options): Promise; /** * Dismiss all Modals */ dismissAllModals(mergeOptions?: Options): Promise; /** * Push a new layout into this screen's navigation stack. */ push

(componentId: string, layout: Layout

): Promise; /** * Pop a component from the stack, regardless of it's position. */ pop(componentId: string, mergeOptions?: Options): Promise; /** * Pop the stack to a given component */ popTo(componentId: string, mergeOptions?: Options): Promise; /** * Pop the component's stack to root. */ popToRoot(componentId: string, mergeOptions?: Options): Promise; /** * Sets new root component to stack. */ setStackRoot

(componentId: string, layout: Layout

| Array>): Promise; /** * Show overlay on top of the entire app */ showOverlay

(layout: Layout

): Promise; /** * dismiss overlay by componentId */ dismissOverlay(componentId: string): Promise; /** * Resolves arguments passed on launch */ getLaunchArgs(): Promise; /** * Obtain the events registry instance */ events(): EventsRegistry; /** * Constants coming from native */ constants(): Promise; }