import React from "react"; import { IReactRoute } from "../interfaces/react-route.interface"; import { Component } from "react"; import { NavigateFunction, PathMatch } from "react-router"; import { Location } from "history"; export interface IReactRouteMatched { isExact: boolean; params: Record; path: string; url: string; } export interface ParsedUrlQuery { [key: string]: string | string[]; } export interface IReactRouteStaticPathGenerator

{ isFallback(): Promise | boolean; getPaths(): Promise>; } export declare type IReactRouteMeta = { path: string | string[]; dynamic?: boolean; isContainer?: boolean; } & Pick; export declare type ReactRouteOptions = Pick; export interface ReactRouteContextValue { route?: IReactRoute; match?: PathMatch; location?: Location; navigate?: NavigateFunction; controllers: any[]; } export declare const ReactRouteContext: React.Context; export declare function ReactRoute(options: ReactRouteOptions): (constructor: TFunction) => TFunction | void; export declare function ReactRouteContainer(options: ReactRouteOptions): ClassDecorator; export declare function getRouteMeta(target: Object): IReactRouteMeta; export declare type IReactRouteParamBind = { name: string; propKey: string; type: string | number | boolean; transform?: { (param: string): any; }; isOptional: boolean; }; export declare function RouteParam(options?: Partial>): (target: Object, propKey: string) => void; export declare function getRouteParamsMeta(target: Object): IReactRouteParamBind[]; export declare function bindRouteFromCompProps(routeCompInstance: Component, props: Record): IReactRouteParamBind[] | undefined;