mobx-react-routing
Version:
MobX react-router-dom integration
39 lines • 1.8 kB
TypeScript
import { ComponentType } from 'react';
import { PathPattern, RouteObject } from 'react-router-dom';
import { AnyObject } from 'yummies/utils/types';
import { QueryParams } from '../query-params/index.js';
import { RouterStore } from './router.store.js';
import { LocationData, ReactRouterInstance, RouteDeclaration, RouteMatch, RouterPath, RouterStoreParams, RouterToConfig } from './router.types.js';
export declare class RouterStoreBase implements RouterStore {
protected abortController: AbortController;
queryParams: QueryParams;
matches: RouteMatch[];
location: LocationData;
private blockers;
private router;
fallbackComponent?: ComponentType;
errorBoundaryComponent?: ComponentType;
get lastMatch(): RouteMatch | null;
createRoute(declaration: RouteDeclaration, index: number, parentPath: number[]): RouteObject;
constructor({ routes, fallbackComponent, errorBoundaryComponent, abortSignal, type, ...libRouterParams }: RouterStoreParams);
collectRouteMatches(matches: ReactRouterInstance['state']['matches']): RouteMatch[];
createPath(to: RouterToConfig): RouterPath;
get currentUrl(): string;
createUrl(to: RouterToConfig): string;
navigate(to: RouterToConfig, options?: {
replace?: boolean;
}): Promise<void>;
get blocked(): boolean;
blockRoutingIf(expression: () => boolean, id?: string): VoidFunction;
blockRouting(id?: string): string;
unblockRouting(id: string): void;
getInstance(): ReactRouterInstance;
back(): Promise<void>;
findMatch: (pathOrPattern: PathPattern | string) => {
params: AnyObject;
pathname: string;
} | null;
isMatched: (pathOrPattern: PathPattern | string) => boolean;
clean(): void;
}
//# sourceMappingURL=router.store.base.d.ts.map