/// import { ActionFunction, LoaderFunction, ShouldRevalidateFunction } from 'react-router-dom'; import { ChildRouteMap } from './routeFn'; import { ExtractParamsParserReturnTypes, InferParamGroups, OptionalParamNames, RequiredParamNames, RouteElement, RouteOptions, SerializedParams, TemplateParserMap } from './types'; export declare type RouteNodeRouteObject = { /** * The component for this route */ element: RouteElement; /** * The element for the index route */ index?: RouteNodeRouteObject; /** * The element for the index route */ layout?: RouteNodeRouteObject; /** * See https://reactrouter.com/en/main/route/loader */ loader?: LoaderFunction; /** * See https://reactrouter.com/en/main/route/route#casesensitive */ caseSensitive?: boolean; /** * See https://reactrouter.com/en/main/route/action */ action?: ActionFunction; /** * See https://reactrouter.com/en/main/route/error-element */ errorElement?: JSX.Element; /** * See https://reactrouter.com/en/main/route/should-revalidate */ shouldRevalidate?: ShouldRevalidateFunction; }; export declare type RouteNodeBase, RO extends RouteOptions> = { /** * The Route template including the query template */ templateWithQuery: T; /** * The Route template for react-router-dom */ template: string; /** * The full Route template including parent route */ fullTemplate: string; /** * The RouteOptions for this route with inherited parent options */ options: RO extends undefined ? undefined : Required; /** * The child routes of this route */ children: CRM; layout: RouteNodeRouteObject | undefined; index: RouteNodeRouteObject | undefined; } & RouteNodeRouteObject; /** * If the given RouteNode has Parameters * @internal */ export declare function isRouteNodeWithParams(node: any): node is RouteNodeWithParams; export declare type RouteNodeWithParams, CRM extends ChildRouteMap, RO extends RouteOptions> = RouteNodeBase & { paramsMap: TPM; parseParams: >(params: SerializedParams> & Partial>>) => ExtractParamsParserReturnTypes> & Partial>>; } & (>(params: ExtractParamsParserReturnTypes> & Partial>>) => { $: string; } & { [K in keyof CRM]: CRM[K]; }); export declare type RouteNodeWithoutParams, RO extends RouteOptions> = RouteNodeBase & (() => { $: string; } & { [K in keyof CRM]: CRM[K]; }); export declare type RouteNode, CRM extends ChildRouteMap, RO extends RouteOptions> = keyof TemplateParserMap extends never ? RouteNodeWithoutParams : RouteNodeWithParams; export declare type AnyRouteNode = RouteNodeWithoutParams | RouteNodeWithParams; export declare type AnyOptionsRouteNode = RouteNodeWithoutParams | RouteNodeWithParams;