UNPKG

react-native-navigation

Version:

React Native Navigation - truly native navigation for iOS and Android

115 lines (114 loc) 4.76 kB
import { EventsRegistry } from './events/EventsRegistry'; import { ComponentProvider } from 'react-native'; import { NavigationConstants } from './adapters/Constants'; import { LayoutRoot, Layout } from './interfaces/Layout'; import { Options } from './interfaces/Options'; import { ProcessorSubscription } from './interfaces/ProcessorSubscription'; import { CommandName } from './interfaces/CommandName'; import { OptionsProcessor as OptionProcessor } from './interfaces/Processors'; import { NativeCommandsSender } from './adapters/NativeCommandsSender'; import { NativeEventsReceiver } from './adapters/NativeEventsReceiver'; import { AppRegistryService } from './adapters/AppRegistryService'; export declare class NavigationDelegate { private concreteNavigation; constructor(); private createConcreteNavigation; /** * 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; /** * Adds an option processor which allows option interpolation by optionPath. */ addOptionProcessor<T, S = any>(optionPath: string, processor: OptionProcessor<T, S>): ProcessorSubscription; /** * Method to be invoked when a layout is processed and is about to be created. This can be used to change layout options or even inject props to components. */ addLayoutProcessor(processor: (layout: Layout, commandName: CommandName) => Layout): ProcessorSubscription; setLazyComponentRegistrator(lazyRegistratorFn: (lazyComponentRequest: string | number) => void): void; /** * Utility helper function like registerComponent, * wraps the provided component with a react-redux Provider with the passed redux store * @deprecated */ registerComponentWithRedux(componentName: string | number, getComponentClassFunc: ComponentProvider, ReduxProvider: any, reduxStore: any): ComponentProvider; /** * Reset the app to a new layout */ setRoot(layout: LayoutRoot): Promise<string>; /** * 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; /** * Update a mounted component's props */ updateProps(componentId: string, props: object, callback?: () => void): void; /** * Show a screen as a modal. */ showModal<P>(layout: Layout<P>): Promise<string>; /** * Dismiss a modal by componentId. The dismissed modal can be anywhere in the stack. */ dismissModal(componentId: string, mergeOptions?: Options): Promise<string>; /** * Dismiss all Modals */ dismissAllModals(mergeOptions?: Options): Promise<string>; /** * Push a new layout into this screen's navigation stack. */ push<P>(componentId: string, layout: Layout<P>): Promise<string>; /** * Pop a component from the stack, regardless of it's position. */ pop(componentId: string, mergeOptions?: Options): Promise<string>; /** * Pop the stack to a given component */ popTo(componentId: string, mergeOptions?: Options): Promise<string>; /** * Pop the component's stack to root. */ popToRoot(componentId: string, mergeOptions?: Options): Promise<string>; /** * Sets new root component to stack. */ setStackRoot<P>(componentId: string, layout: Layout<P> | Array<Layout<P>>): Promise<string>; /** * Show overlay on top of the entire app */ showOverlay<P>(layout: Layout<P>): Promise<string>; /** * dismiss overlay by componentId */ dismissOverlay(componentId: string): Promise<string>; /** * dismiss all overlays */ dismissAllOverlays(): Promise<string>; /** * Resolves arguments passed on launch */ getLaunchArgs(): Promise<any>; /** * Obtain the events registry instance */ events(): EventsRegistry; /** * Constants coming from native */ constants(): Promise<NavigationConstants>; constantsSync(): NavigationConstants; get TouchablePreview(): typeof import("./adapters/TouchablePreview").TouchablePreview; mockNativeComponents(mockedNativeCommandsSender: NativeCommandsSender, mockedNativeEventsReceiver: NativeEventsReceiver, mockedAppRegistryService: AppRegistryService): void; get mock(): { store: import("./components/Store").Store; }; }