UNPKG

@eolme/vma-router

Version:
41 lines (40 loc) 2.06 kB
/// <reference types="react" /> import Route from './entities/Route'; import Router from './entities/Router'; import type { Page, View, Panel, Modal, Popout, RouteList, RouteParams, RenderNode, Structure, SharedConfig } from './types'; export declare function startGlobalRouter(routes: RouteList, config?: Partial<SharedConfig>): Router; export declare function getGlobalRouter(): Router; export declare function pushPage(page: Page, params?: RouteParams): void; export declare function replacePage(page: Page, params?: RouteParams): void; export declare function popPage(): void; export declare function pushModal(modal: Modal, params?: RouteParams): void; export declare function replaceModal(modal: Modal, params?: RouteParams): void; export declare function pushPopup(popup: Popout, params?: RouteParams): void; export declare function replacePopout(popup: Popout, params?: RouteParams): void; export declare function popPageIfModalOrPopup(): void; export declare function pushPageAfterPreviews(prevPage: Page, nextPage: Page, params?: RouteParams): void; export declare function getCurrentRoute(): Readonly<Route>; export declare function getLastPanelInView(view: View): Panel; export declare function getPanelInView(route: Route, view: View): Panel; export declare function getViewHistory(route: Route, view: View): Structure[]; export declare function getViewProps(view: View, route: Route, modal: RenderNode, popout: RenderNode): { id: string; activePanel: string; history: string[]; modal: import("react").ReactNode; popout: import("react").ReactNode; params: Readonly<RouteParams>; onSwipeBack: typeof popPage; }; export declare function getPanelProps(panel: Panel, route: Route): { id: string; params: Readonly<RouteParams>; }; export declare function getModalProps(modal: Modal, route: Route): { id: string; params: Readonly<RouteParams>; }; export declare function getPopoutProps(popout: Popout, route: Route): { id: string; params: Readonly<RouteParams>; };