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'; import { LinkingConfig } from './linking/types'; 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(optionPath: string, processor: OptionProcessor): 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; /** * 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

(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; /** * dismiss all overlays */ dismissAllOverlays(): Promise; /** * Resolves arguments passed on launch */ getLaunchArgs(): Promise; /** * Configure deep link handling. */ setLinking(config: LinkingConfig): void; /** * Manually feed a URL into the deep link pipeline. */ handleDeepLink(url: string): void; /** * Signal readiness to process deep links. Flushes any queued links. */ setLinkingReady(ready: boolean): void; /** * Obtain the events registry instance */ events(): EventsRegistry; /** * Constants coming from native */ constants(): Promise; constantsSync(): NavigationConstants; get TouchablePreview(): typeof import("./adapters/TouchablePreview").TouchablePreview; mockNativeComponents(mockedNativeCommandsSender: NativeCommandsSender, mockedNativeEventsReceiver: NativeEventsReceiver, mockedAppRegistryService: AppRegistryService): void; get mock(): { store: import("./components/Store").Store; }; } //# sourceMappingURL=NavigationDelegate.d.ts.map