import { BaseRootRoute, BaseRoute, BaseRouteApi, AnyContext, AnyRoute, AnyRouter, ConstrainLiteral, ErrorComponentProps, NotFoundError, NotFoundRouteProps, Register, RegisteredRouter, ResolveFullPath, ResolveId, ResolveParams, RootRoute as RootRouteCore, RootRouteId, RootRouteOptions, RouteConstraints, Route as RouteCore, RouteIds, RouteMask, RouteOptions, RouteTypesById, RouterCore, ToMaskOptions, UseNavigateResult } from '@tanstack/router-core'; import { default as React } from 'react'; import { UseLoaderDataRoute } from './useLoaderData.js'; import { UseMatchRoute } from './useMatch.js'; import { UseLoaderDepsRoute } from './useLoaderDeps.js'; import { UseParamsRoute } from './useParams.js'; import { UseSearchRoute } from './useSearch.js'; import { UseRouteContextRoute } from './useRouteContext.js'; import { LinkComponentRoute } from './link.js'; declare module '@tanstack/router-core' { interface UpdatableRouteOptionsExtensions { component?: RouteComponent; errorComponent?: false | null | undefined | ErrorRouteComponent; notFoundComponent?: NotFoundRouteComponent; pendingComponent?: RouteComponent; } interface RootRouteOptionsExtensions { shellComponent?: ({ children, }: { children: React.ReactNode; }) => React.ReactNode; } interface RouteExtensions { useMatch: UseMatchRoute; useRouteContext: UseRouteContextRoute; useSearch: UseSearchRoute; useParams: UseParamsRoute; useLoaderDeps: UseLoaderDepsRoute; useLoaderData: UseLoaderDataRoute; useNavigate: () => UseNavigateResult; Link: LinkComponentRoute; } } /** * Returns a route-specific API that exposes type-safe hooks pre-bound * to a single route ID. Useful for consuming a route's APIs from files * where the route object isn't directly imported (e.g. code-split files). * * @param id Route ID string literal for the target route. * @returns A `RouteApi` instance bound to the given route ID. * @link https://tanstack.com/router/latest/docs/framework/react/api/router/getRouteApiFunction */ export declare function getRouteApi(id: ConstrainLiteral>): RouteApi; export declare class RouteApi extends BaseRouteApi { /** * @deprecated Use the `getRouteApi` function instead. */ constructor({ id }: { id: TId; }); useMatch: UseMatchRoute; useRouteContext: UseRouteContextRoute; useSearch: UseSearchRoute; useParams: UseParamsRoute; useLoaderDeps: UseLoaderDepsRoute; useLoaderData: UseLoaderDataRoute; useNavigate: () => UseNavigateResult["fullPath"]>; notFound: (opts?: NotFoundError) => NotFoundError; Link: LinkComponentRoute['fullPath']>; } export declare class Route, in out TCustomId extends RouteConstraints['TCustomId'] = string, in out TId extends RouteConstraints['TId'] = ResolveId, in out TSearchValidator = undefined, in out TParams = ResolveParams, in out TRouterContext = AnyContext, in out TRouteContextFn = AnyContext, in out TBeforeLoadFn = AnyContext, in out TLoaderDeps extends Record = {}, in out TLoaderFn = undefined, in out TChildren = unknown, in out TFileRouteTypes = unknown, in out TSSR = unknown, in out TServerMiddlewares = unknown, in out THandlers = undefined> extends BaseRoute implements RouteCore { /** * @deprecated Use the `createRoute` function instead. */ constructor(options?: RouteOptions); useMatch: UseMatchRoute; useRouteContext: UseRouteContextRoute; useSearch: UseSearchRoute; useParams: UseParamsRoute; useLoaderDeps: UseLoaderDepsRoute; useLoaderData: UseLoaderDataRoute; useNavigate: () => UseNavigateResult; Link: LinkComponentRoute; } /** * Creates a non-root Route instance for code-based routing. * * Use this to define a route that will be composed into a route tree * (typically via a parent route's `addChildren`). If you're using file-based * routing, prefer `createFileRoute`. * * @param options Route options (path, component, loader, context, etc.). * @returns A Route instance to be attached to the route tree. * @link https://tanstack.com/router/latest/docs/framework/react/api/router/createRouteFunction */ export declare function createRoute, TCustomId extends RouteConstraints['TCustomId'] = string, TId extends RouteConstraints['TId'] = ResolveId, TSearchValidator = undefined, TParams = ResolveParams, TRouteContextFn = AnyContext, TBeforeLoadFn = AnyContext, TLoaderDeps extends Record = {}, TLoaderFn = undefined, TChildren = unknown, TSSR = unknown, const TServerMiddlewares = unknown>(options: RouteOptions): Route; export type AnyRootRoute = RootRoute; /** * Creates a root route factory that requires a router context type. * * Use when your root route expects `context` to be provided to `createRouter`. * The returned function behaves like `createRootRoute` but enforces a context type. * * @returns A factory function to configure and return a root route. * @link https://tanstack.com/router/latest/docs/framework/react/api/router/createRootRouteWithContextFunction */ export declare function createRootRouteWithContext(): = {}, TLoaderFn = undefined, TSSR = unknown, TServerMiddlewares = unknown>(options?: RootRouteOptions) => RootRoute; /** * @deprecated Use the `createRootRouteWithContext` function instead. */ export declare const rootRouteWithContext: typeof createRootRouteWithContext; export declare class RootRoute = {}, in out TLoaderFn = undefined, in out TChildren = unknown, in out TFileRouteTypes = unknown, in out TSSR = unknown, in out TServerMiddlewares = unknown, in out THandlers = undefined> extends BaseRootRoute implements RootRouteCore { /** * @deprecated `RootRoute` is now an internal implementation detail. Use `createRootRoute()` instead. */ constructor(options?: RootRouteOptions); useMatch: UseMatchRoute; useRouteContext: UseRouteContextRoute; useSearch: UseSearchRoute; useParams: UseParamsRoute; useLoaderDeps: UseLoaderDepsRoute; useLoaderData: UseLoaderDataRoute; useNavigate: () => UseNavigateResult<"/">; Link: LinkComponentRoute<'/'>; } /** * Creates a root Route instance used to build your route tree. * * Typically paired with `createRouter({ routeTree })`. If you need to require * a typed router context, use `createRootRouteWithContext` instead. * * @param options Root route options (component, error, pending, etc.). * @returns A root route instance. * @link https://tanstack.com/router/latest/docs/framework/react/api/router/createRootRouteFunction */ export declare function createRootRoute = {}, TLoaderFn = undefined, TSSR = unknown, const TServerMiddlewares = unknown, THandlers = undefined>(options?: RootRouteOptions): RootRoute; export declare function createRouteMask(opts: { routeTree: TRouteTree; } & ToMaskOptions, TFrom, TTo>): RouteMask; export interface DefaultRouteTypes { component: ((props: TProps) => any) | React.LazyExoticComponent<(props: TProps) => any>; } export interface RouteTypes extends DefaultRouteTypes { } export type AsyncRouteComponent = RouteTypes['component'] & { preload?: () => Promise; }; export type RouteComponent = AsyncRouteComponent<{}>; export type ErrorRouteComponent = AsyncRouteComponent; export type NotFoundRouteComponent = RouteTypes['component']; export declare class NotFoundRoute = {}, TLoaderFn = undefined, TChildren = unknown, TSSR = unknown, TServerMiddlewares = unknown> extends Route { constructor(options: Omit, 'caseSensitive' | 'parseParams' | 'stringifyParams' | 'path' | 'id' | 'params'>); }