import type { Location as RouterLocation, NavigateFunction, To } from 'react-router-dom'; import { OakNavigateToParameters } from '../types/Page'; import { EntityDict as BaseEntityDict } from 'oak-domain/lib/base-app-domain'; import { EntityDict } from 'oak-domain/lib/types'; import { Navigator as CommonNavigator } from './navigator.common'; type LocationLike = Pick; type HistoryLike = { location: LocationLike; push: (to: To, state?: Record) => void; replace: (to: To, state?: Record) => void; go: (delta: number) => void; back: () => void; listen?: (listener: (update: { location: LocationLike; }) => void) => () => void; }; export declare class Navigator extends CommonNavigator { private navigate?; private location; private unlisten?; constructor(); setNavigate(navigate: NavigateFunction): void; setLocation(location: LocationLike): void; setRouter(navigate: NavigateFunction, location: LocationLike): void; /** * 兼容旧的 history 注入流程;新接入统一使用 setRouter。 */ setHistory(history: HistoryLike): void; private doNavigate; getLocation(): { namespace: string; url: string; search: string; key: string; pathname: string; hash: string; state: any; }; getState(): { pathname: string; oakFrom: string | undefined; }; private getUrlAndProps; navigateTo(options: { url: string; } & OakNavigateToParameters, state?: Record, disableNamespace?: boolean): Promise; redirectTo(options: { url: string; } & OakNavigateToParameters, state?: Record, disableNamespace?: boolean): Promise; switchTab(options: { url: string; } & OakNavigateToParameters, state?: Record, disableNamespace?: boolean): Promise; navigateBack(delta?: number): Promise; navigateBackOrRedirectTo(options: { url: string; isTabBar?: boolean; } & OakNavigateToParameters, state?: Record, disableNamespace?: boolean): void; } export {};