import { InjectionToken, Provider, type Type } from '@angular/core'; import { AnyContext, AnyRoute, AnyRouter, BaseRootRoute, BaseRoute, BaseRouteApi, ConstrainLiteral, ErrorComponentProps, NotFoundRouteProps, RegisteredRouter, ResolveFullPath, ResolveId, ResolveParams, RootRouteId, RootRouteOptions, RouteConstraints, RouteIds, RouteOptions } from '@tanstack/router-core'; import { LoaderDataRoute } from './loader-data'; import { LoaderDepsRoute } from './loader-deps'; import { MatchRoute } from './match'; import { ParamsRoute } from './params'; import { RouteContextRoute } from './route-context'; import { SearchRoute } from './search'; declare module '@tanstack/router-core' { interface UpdatableRouteOptionsExtensions { component?: () => RouteComponent; errorComponent?: false | null | (() => RouteComponent); notFoundComponent?: () => RouteComponent; pendingComponent?: () => RouteComponent; providers?: Provider[]; } interface RouteExtensions { match$: MatchRoute; match: MatchRoute; routeContext$: RouteContextRoute; routeContext: RouteContextRoute; search$: SearchRoute; search: SearchRoute; params$: ParamsRoute; params: ParamsRoute; loaderDeps$: LoaderDepsRoute; loaderDeps: LoaderDepsRoute; loaderData$: LoaderDataRoute; loaderData: LoaderDataRoute; } } export declare const ERROR_COMPONENT_CONTEXT: InjectionToken; export declare const NOT_FOUND_COMPONENT_CONTEXT: InjectionToken; export type RouteComponent = Type; export declare function routeApi(id: ConstrainLiteral>): RouteApi; export declare class RouteApi extends BaseRouteApi { /** * @deprecated Use the `getRouteApi` function instead. */ constructor({ id }: { id: TId; }); match$: MatchRoute; match: MatchRoute; routeContext$: RouteContextRoute; routeContext: RouteContextRoute; search$: SearchRoute; search: SearchRoute; params$: ParamsRoute; params: ParamsRoute; loaderDeps$: LoaderDepsRoute; loaderDeps: LoaderDepsRoute; loaderData$: LoaderDataRoute; loaderData: LoaderDataRoute; } 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> extends BaseRoute { /** * @deprecated Use the `createRoute` function instead. */ constructor(options?: RouteOptions); match$: MatchRoute; match: MatchRoute; routeContext$: RouteContextRoute; routeContext: RouteContextRoute; search$: SearchRoute; search: SearchRoute; params$: ParamsRoute; params: ParamsRoute; loaderDeps$: LoaderDepsRoute; loaderDeps: LoaderDepsRoute; loaderData$: LoaderDataRoute; loaderData: LoaderDataRoute; } 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>(options: RouteOptions): Route; export type AnyRootRoute = RootRoute; export declare function createRootRouteWithContext(): = {}, TLoaderFn = undefined>(options?: RootRouteOptions) => RootRoute; export declare class RootRoute = {}, in out TLoaderFn = undefined, in out TChildren = unknown, in out TFileRouteTypes = unknown> extends BaseRootRoute { /** * @deprecated `RootRoute` is now an internal implementation detail. Use `createRootRoute()` instead. */ constructor(options?: RootRouteOptions); match$: MatchRoute; match: MatchRoute; routeContext$: RouteContextRoute; routeContext: RouteContextRoute; search$: SearchRoute; search: SearchRoute; params$: ParamsRoute; params: ParamsRoute; loaderDeps$: LoaderDepsRoute; loaderDeps: LoaderDepsRoute; loaderData$: LoaderDataRoute; loaderData: LoaderDataRoute; } export declare function createRootRoute = {}, TLoaderFn = undefined>(options?: RootRouteOptions): RootRoute; export declare class NotFoundRoute = {}, TLoaderFn = undefined, TChildren = unknown> extends Route { constructor(options: Omit, 'caseSensitive' | 'parseParams' | 'stringifyParams' | 'path' | 'id' | 'params'>); }