import type React from 'react'; import { ComponentProvider } from 'react-native'; import type { DefaultOptions, NavigationOption, TabBarStyle, TabItemInfo } from './Options'; import type { BuildInLayout, Layout, Route, RouteGraph, RouteConfig } from './Route'; import { ResultType } from './handler/ResultEventHandler'; import { GlobalVisibilityEventListener, VisibilityEventListener } from './handler/VisibilityEventHandler'; export type { ResultType } from './handler/ResultEventHandler'; import type { DispatchParams, NavigationInterceptor } from './handler/DispatchCommandHandler'; export type { DispatchParams, NavigationInterceptor } from './handler/DispatchCommandHandler'; export declare const RESULT_CANCEL: number, RESULT_OK: number, RESULT_BLOCK: number; export type NavigationSubscription = { remove: () => void; }; export type HOC = (WrappedComponent: React.ComponentType) => React.ComponentType; export interface Navigation { startRegisterComponent(hoc?: HOC): void; endRegisterComponent(): void; registerComponent(appKey: string, getComponentFunc: ComponentProvider, routeConfig?: RouteConfig): void; routeConfigs(): Map; setNavigationComponentWrap(wrap: (moduleName: string) => HOC): void; addGlobalVisibilityEventListener(listener: GlobalVisibilityEventListener): NavigationSubscription; addVisibilityEventListener(sceneId: string, listener: VisibilityEventListener): NavigationSubscription; dispatch(sceneId: string, action: string, params?: DispatchParams): Promise; setInterceptor(interceptor: NavigationInterceptor): void; setResult(sceneId: string, resultCode: number, data?: T): void; result(sceneId: string, resultCode: number): Promise<[number, T]>; unmount(sceneId: string): void; setRoot(layout: BuildInLayout | Layout, sticky?: boolean): Promise; setRootLayoutUpdateListener(willSetRoot?: () => void, didSetRoot?: () => void): void; currentTab(sceneId: string): Promise; findSceneIdByModuleName(moduleName: string): Promise; isStackRoot(sceneId: string): Promise; signalFirstRenderComplete(sceneId: string): void; currentRoute(): Promise; routeGraph(): Promise; setDefaultOptions(options: DefaultOptions): void; updateOptions(sceneId: string, options: NavigationOption): void; updateTabBar(sceneId: string, options: TabBarStyle): void; setTabItem(sceneId: string, item: TabItemInfo | TabItemInfo[]): void; setMenuInteractive(sceneId: string, enabled: boolean): void; } declare const _default: Navigation; export default _default;