import { RouteAddLoader } from './addLoader'; import { RouteAddView } from './addView'; import { InternalRouteHooks } from './hooks'; import { RouteRedirects } from './redirects'; import { CreatedRouteOptions, Route } from './route'; import { RouteSetTitle } from './routeTitle'; import { Url } from './url'; /** * A route plus every chainable/available method: addView, addLoader, hooks, redirects, and title. The type * level counterpart to `withRouteMethods`. * * Takes the url and matches rather than an assembled route so that adding a view or a loader can rebuild * from them directly. Taking the route would mean re-deriving the url from it on every call, and that * reference is what made chained calls nest one inside the last. */ export type RouteWithMethods = Route & RouteAddView & RouteAddLoader & InternalRouteHooks, Route['context']> & RouteRedirects> & RouteSetTitle>;