| 1 | import { e as RouteObject, f as History, g as MaybePromise, c as RouterContextProvider, h as MapRoutePropertiesFunction, i as Action, L as Location, D as DataRouteMatch, j as Submission, k as RouteData, l as DataStrategyFunction, m as PatchRoutesOnNavigationFunction, n as DataRouteObject, o as RouteBranch, p as RouteManifest, U as UIMatch, T as To, q as HTMLFormMethod, F as FormEncType, r as Path, s as LoaderFunctionArgs, t as MiddlewareEnabled, u as AppLoadContext } from './data-BqZ2x964.js';
|
| 2 |
|
| 3 | |
| 4 | |
| 5 |
|
| 6 | interface Router {
|
| 7 | |
| 8 | |
| 9 | |
| 10 | |
| 11 | |
| 12 |
|
| 13 | get basename(): RouterInit["basename"];
|
| 14 | |
| 15 | |
| 16 | |
| 17 | |
| 18 | |
| 19 |
|
| 20 | get future(): FutureConfig;
|
| 21 | |
| 22 | |
| 23 | |
| 24 | |
| 25 | |
| 26 |
|
| 27 | get state(): RouterState;
|
| 28 | |
| 29 | |
| 30 | |
| 31 | |
| 32 | |
| 33 |
|
| 34 | get routes(): DataRouteObject[];
|
| 35 | |
| 36 | |
| 37 | |
| 38 | |
| 39 | |
| 40 |
|
| 41 | get branches(): RouteBranch<DataRouteObject>[] | undefined;
|
| 42 | |
| 43 | |
| 44 | |
| 45 | |
| 46 | |
| 47 |
|
| 48 | get manifest(): RouteManifest;
|
| 49 | |
| 50 | |
| 51 | |
| 52 | |
| 53 | |
| 54 |
|
| 55 | get window(): RouterInit["window"];
|
| 56 | |
| 57 | |
| 58 | |
| 59 | |
| 60 | |
| 61 | |
| 62 | |
| 63 |
|
| 64 | initialize(): Router;
|
| 65 | |
| 66 | |
| 67 | |
| 68 | |
| 69 | |
| 70 | |
| 71 | |
| 72 |
|
| 73 | subscribe(fn: RouterSubscriber): () => void;
|
| 74 | |
| 75 | |
| 76 | |
| 77 | |
| 78 | |
| 79 | |
| 80 | |
| 81 | |
| 82 | |
| 83 | |
| 84 |
|
| 85 | enableScrollRestoration(savedScrollPositions: Record<string, number>, getScrollPosition: GetScrollPositionFunction, getKey?: GetScrollRestorationKeyFunction): () => void;
|
| 86 | |
| 87 | |
| 88 | |
| 89 | |
| 90 | |
| 91 | |
| 92 |
|
| 93 | navigate(to: number): Promise<void>;
|
| 94 | |
| 95 | |
| 96 | |
| 97 | |
| 98 |
|
| 99 | navigate(to: To | null, opts?: RouterNavigateOptions): Promise<void>;
|
| 100 | |
| 101 | |
| 102 | |
| 103 | |
| 104 | |
| 105 | |
| 106 | |
| 107 | |
| 108 | |
| 109 | |
| 110 |
|
| 111 | fetch(key: string, routeId: string, href: string | null, opts?: RouterFetchOptions): Promise<void>;
|
| 112 | |
| 113 | |
| 114 | |
| 115 | |
| 116 | |
| 117 |
|
| 118 | revalidate(): Promise<void>;
|
| 119 | |
| 120 | |
| 121 | |
| 122 | |
| 123 | |
| 124 | |
| 125 |
|
| 126 | createHref(location: Location | URL): string;
|
| 127 | |
| 128 | |
| 129 | |
| 130 | |
| 131 | |
| 132 | |
| 133 | |
| 134 |
|
| 135 | encodeLocation(to: To): Path;
|
| 136 | |
| 137 | |
| 138 | |
| 139 | |
| 140 | |
| 141 | |
| 142 |
|
| 143 | getFetcher<TData = any>(key: string): Fetcher<TData>;
|
| 144 | |
| 145 | |
| 146 | |
| 147 | |
| 148 | |
| 149 | |
| 150 |
|
| 151 | resetFetcher(key: string, opts?: {
|
| 152 | reason?: unknown;
|
| 153 | }): void;
|
| 154 | |
| 155 | |
| 156 | |
| 157 | |
| 158 | |
| 159 | |
| 160 |
|
| 161 | deleteFetcher(key: string): void;
|
| 162 | |
| 163 | |
| 164 | |
| 165 | |
| 166 | |
| 167 |
|
| 168 | dispose(): void;
|
| 169 | |
| 170 | |
| 171 | |
| 172 | |
| 173 | |
| 174 | |
| 175 | |
| 176 |
|
| 177 | getBlocker(key: string, fn: BlockerFunction): Blocker;
|
| 178 | |
| 179 | |
| 180 | |
| 181 | |
| 182 | |
| 183 | |
| 184 |
|
| 185 | deleteBlocker(key: string): void;
|
| 186 | |
| 187 | |
| 188 | |
| 189 | |
| 190 | |
| 191 | |
| 192 | |
| 193 | |
| 194 | |
| 195 | |
| 196 | |
| 197 |
|
| 198 | patchRoutes(routeId: string | null, children: RouteObject[], unstable_allowElementMutations?: boolean): void;
|
| 199 | |
| 200 | |
| 201 | |
| 202 | |
| 203 | |
| 204 | |
| 205 |
|
| 206 | _internalSetRoutes(routes: RouteObject[]): void;
|
| 207 | |
| 208 | |
| 209 | |
| 210 | |
| 211 | |
| 212 |
|
| 213 | _internalSetStateDoNotUseOrYouWillBreakYourApp(state: Partial<RouterState>): void;
|
| 214 | |
| 215 | |
| 216 | |
| 217 | |
| 218 | |
| 219 |
|
| 220 | _internalFetchControllers: Map<string, AbortController>;
|
| 221 | }
|
| 222 | |
| 223 | |
| 224 | |
| 225 |
|
| 226 | interface RouterState {
|
| 227 | |
| 228 | |
| 229 |
|
| 230 | historyAction: Action;
|
| 231 | |
| 232 | |
| 233 |
|
| 234 | location: Location;
|
| 235 | |
| 236 | |
| 237 |
|
| 238 | matches: DataRouteMatch[];
|
| 239 | |
| 240 | |
| 241 |
|
| 242 | initialized: boolean;
|
| 243 | |
| 244 | |
| 245 |
|
| 246 | renderFallback: boolean;
|
| 247 | |
| 248 | |
| 249 | |
| 250 | |
| 251 | |
| 252 |
|
| 253 | restoreScrollPosition: number | false | null;
|
| 254 | |
| 255 | |
| 256 | |
| 257 |
|
| 258 | preventScrollReset: boolean;
|
| 259 | |
| 260 | |
| 261 |
|
| 262 | navigation: Navigation;
|
| 263 | |
| 264 | |
| 265 |
|
| 266 | revalidation: RevalidationState;
|
| 267 | |
| 268 | |
| 269 |
|
| 270 | loaderData: RouteData;
|
| 271 | |
| 272 | |
| 273 |
|
| 274 | actionData: RouteData | null;
|
| 275 | |
| 276 | |
| 277 |
|
| 278 | errors: RouteData | null;
|
| 279 | |
| 280 | |
| 281 |
|
| 282 | fetchers: Map<string, Fetcher>;
|
| 283 | |
| 284 | |
| 285 |
|
| 286 | blockers: Map<string, Blocker>;
|
| 287 | }
|
| 288 | |
| 289 | |
| 290 |
|
| 291 | type HydrationState = Partial<Pick<RouterState, "loaderData" | "actionData" | "errors">>;
|
| 292 | |
| 293 | |
| 294 |
|
| 295 | interface FutureConfig {
|
| 296 | }
|
| 297 | |
| 298 | |
| 299 |
|
| 300 | interface RouterInit {
|
| 301 | routes: RouteObject[];
|
| 302 | history: History;
|
| 303 | basename?: string;
|
| 304 | getContext?: () => MaybePromise<RouterContextProvider>;
|
| 305 | instrumentations?: ClientInstrumentation[];
|
| 306 | mapRouteProperties?: MapRoutePropertiesFunction;
|
| 307 | future?: Partial<FutureConfig>;
|
| 308 | hydrationRouteProperties?: string[];
|
| 309 | hydrationData?: HydrationState;
|
| 310 | window?: Window;
|
| 311 | dataStrategy?: DataStrategyFunction;
|
| 312 | patchRoutesOnNavigation?: PatchRoutesOnNavigationFunction;
|
| 313 | }
|
| 314 | |
| 315 | |
| 316 |
|
| 317 | interface StaticHandlerContext {
|
| 318 | basename: Router["basename"];
|
| 319 | location: RouterState["location"];
|
| 320 | matches: RouterState["matches"];
|
| 321 | loaderData: RouterState["loaderData"];
|
| 322 | actionData: RouterState["actionData"];
|
| 323 | errors: RouterState["errors"];
|
| 324 | statusCode: number;
|
| 325 | loaderHeaders: Record<string, Headers>;
|
| 326 | actionHeaders: Record<string, Headers>;
|
| 327 | _deepestRenderedBoundaryId?: string | null;
|
| 328 | }
|
| 329 | |
| 330 | |
| 331 |
|
| 332 | interface StaticHandler {
|
| 333 | |
| 334 | |
| 335 |
|
| 336 | dataRoutes: DataRouteObject[];
|
| 337 | |
| 338 | |
| 339 | |
| 340 | |
| 341 | |
| 342 | |
| 343 |
|
| 344 | _internalRouteBranches: RouteBranch<DataRouteObject>[];
|
| 345 | |
| 346 | |
| 347 | |
| 348 | |
| 349 | |
| 350 | |
| 351 | |
| 352 | |
| 353 | |
| 354 | |
| 355 | |
| 356 | |
| 357 | |
| 358 | |
| 359 |
|
| 360 | query(request: Request, opts?: {
|
| 361 | requestContext?: unknown;
|
| 362 | filterMatchesToLoad?: (match: DataRouteMatch) => boolean;
|
| 363 | skipLoaderErrorBubbling?: boolean;
|
| 364 | skipRevalidation?: boolean;
|
| 365 | dataStrategy?: DataStrategyFunction<unknown>;
|
| 366 | generateMiddlewareResponse?: (query: (r: Request, args?: {
|
| 367 | filterMatchesToLoad?: (match: DataRouteMatch) => boolean;
|
| 368 | }) => Promise<StaticHandlerContext | Response>) => MaybePromise<Response>;
|
| 369 | normalizePath?: (request: Request) => Path;
|
| 370 | }): Promise<StaticHandlerContext | Response>;
|
| 371 | |
| 372 | |
| 373 | |
| 374 | |
| 375 | |
| 376 | |
| 377 | |
| 378 | |
| 379 | |
| 380 | |
| 381 | |
| 382 | |
| 383 |
|
| 384 | queryRoute(request: Request, opts?: {
|
| 385 | routeId?: string;
|
| 386 | requestContext?: unknown;
|
| 387 | dataStrategy?: DataStrategyFunction<unknown>;
|
| 388 | generateMiddlewareResponse?: (queryRoute: (r: Request) => Promise<Response>) => MaybePromise<Response>;
|
| 389 | normalizePath?: (request: Request) => Path;
|
| 390 | }): Promise<any>;
|
| 391 | }
|
| 392 | type ViewTransitionOpts = {
|
| 393 | currentLocation: Location;
|
| 394 | nextLocation: Location;
|
| 395 | };
|
| 396 | |
| 397 | |
| 398 |
|
| 399 | interface RouterSubscriber {
|
| 400 | (state: RouterState, opts: {
|
| 401 | deletedFetchers: string[];
|
| 402 | newErrors: RouteData | null;
|
| 403 | viewTransitionOpts?: ViewTransitionOpts;
|
| 404 | flushSync: boolean;
|
| 405 | }): void;
|
| 406 | }
|
| 407 | |
| 408 | |
| 409 | |
| 410 |
|
| 411 | interface GetScrollRestorationKeyFunction {
|
| 412 | (location: Location, matches: UIMatch[]): string | null;
|
| 413 | }
|
| 414 | |
| 415 | |
| 416 |
|
| 417 | interface GetScrollPositionFunction {
|
| 418 | (): number;
|
| 419 | }
|
| 420 | |
| 421 | |
| 422 | |
| 423 | |
| 424 | |
| 425 | |
| 426 | |
| 427 |
|
| 428 | type RelativeRoutingType = "route" | "path";
|
| 429 | type BaseNavigateOrFetchOptions = {
|
| 430 | preventScrollReset?: boolean;
|
| 431 | relative?: RelativeRoutingType;
|
| 432 | flushSync?: boolean;
|
| 433 | defaultShouldRevalidate?: boolean;
|
| 434 | };
|
| 435 | type BaseNavigateOptions = BaseNavigateOrFetchOptions & {
|
| 436 | replace?: boolean;
|
| 437 | state?: any;
|
| 438 | fromRouteId?: string;
|
| 439 | viewTransition?: boolean;
|
| 440 | mask?: To;
|
| 441 | };
|
| 442 | type BaseSubmissionOptions = {
|
| 443 | formMethod?: HTMLFormMethod;
|
| 444 | formEncType?: FormEncType;
|
| 445 | } & ({
|
| 446 | formData: FormData;
|
| 447 | body?: undefined;
|
| 448 | } | {
|
| 449 | formData?: undefined;
|
| 450 | body: any;
|
| 451 | });
|
| 452 | |
| 453 | |
| 454 |
|
| 455 | type LinkNavigateOptions = BaseNavigateOptions;
|
| 456 | |
| 457 | |
| 458 |
|
| 459 | type SubmissionNavigateOptions = BaseNavigateOptions & BaseSubmissionOptions;
|
| 460 | |
| 461 | |
| 462 |
|
| 463 | type RouterNavigateOptions = LinkNavigateOptions | SubmissionNavigateOptions;
|
| 464 | |
| 465 | |
| 466 |
|
| 467 | type LoadFetchOptions = BaseNavigateOrFetchOptions;
|
| 468 | |
| 469 | |
| 470 |
|
| 471 | type SubmitFetchOptions = BaseNavigateOrFetchOptions & BaseSubmissionOptions;
|
| 472 | |
| 473 | |
| 474 |
|
| 475 | type RouterFetchOptions = LoadFetchOptions | SubmitFetchOptions;
|
| 476 | |
| 477 | |
| 478 |
|
| 479 | type NavigationStates = {
|
| 480 | Idle: {
|
| 481 | state: "idle";
|
| 482 | location: undefined;
|
| 483 | formMethod: undefined;
|
| 484 | formAction: undefined;
|
| 485 | formEncType: undefined;
|
| 486 | formData: undefined;
|
| 487 | json: undefined;
|
| 488 | text: undefined;
|
| 489 | };
|
| 490 | Loading: {
|
| 491 | state: "loading";
|
| 492 | location: Location;
|
| 493 | formMethod: Submission["formMethod"] | undefined;
|
| 494 | formAction: Submission["formAction"] | undefined;
|
| 495 | formEncType: Submission["formEncType"] | undefined;
|
| 496 | formData: Submission["formData"] | undefined;
|
| 497 | json: Submission["json"] | undefined;
|
| 498 | text: Submission["text"] | undefined;
|
| 499 | };
|
| 500 | Submitting: {
|
| 501 | state: "submitting";
|
| 502 | location: Location;
|
| 503 | formMethod: Submission["formMethod"];
|
| 504 | formAction: Submission["formAction"];
|
| 505 | formEncType: Submission["formEncType"];
|
| 506 | formData: Submission["formData"];
|
| 507 | json: Submission["json"];
|
| 508 | text: Submission["text"];
|
| 509 | };
|
| 510 | };
|
| 511 | type Navigation = NavigationStates[keyof NavigationStates];
|
| 512 | type RevalidationState = "idle" | "loading";
|
| 513 | |
| 514 | |
| 515 |
|
| 516 | type FetcherStates<TData = any> = {
|
| 517 | |
| 518 | |
| 519 | |
| 520 | |
| 521 | |
| 522 | |
| 523 |
|
| 524 | Idle: {
|
| 525 | state: "idle";
|
| 526 | formMethod: undefined;
|
| 527 | formAction: undefined;
|
| 528 | formEncType: undefined;
|
| 529 | text: undefined;
|
| 530 | formData: undefined;
|
| 531 | json: undefined;
|
| 532 | |
| 533 | |
| 534 |
|
| 535 | data: TData | undefined;
|
| 536 | };
|
| 537 | |
| 538 | |
| 539 | |
| 540 | |
| 541 | |
| 542 | |
| 543 | |
| 544 | |
| 545 | |
| 546 | |
| 547 | |
| 548 |
|
| 549 | Loading: {
|
| 550 | state: "loading";
|
| 551 | formMethod: Submission["formMethod"] | undefined;
|
| 552 | formAction: Submission["formAction"] | undefined;
|
| 553 | formEncType: Submission["formEncType"] | undefined;
|
| 554 | text: Submission["text"] | undefined;
|
| 555 | formData: Submission["formData"] | undefined;
|
| 556 | json: Submission["json"] | undefined;
|
| 557 | data: TData | undefined;
|
| 558 | };
|
| 559 | |
| 560 | |
| 561 | |
| 562 | |
| 563 | |
| 564 | |
| 565 | |
| 566 | |
| 567 | |
| 568 | |
| 569 | |
| 570 | |
| 571 | |
| 572 | |
| 573 | |
| 574 | |
| 575 | |
| 576 |
|
| 577 | Submitting: {
|
| 578 | state: "submitting";
|
| 579 | formMethod: Submission["formMethod"];
|
| 580 | formAction: Submission["formAction"];
|
| 581 | formEncType: Submission["formEncType"];
|
| 582 | text: Submission["text"];
|
| 583 | formData: Submission["formData"];
|
| 584 | json: Submission["json"];
|
| 585 | data: TData | undefined;
|
| 586 | };
|
| 587 | };
|
| 588 | type Fetcher<TData = any> = FetcherStates<TData>[keyof FetcherStates<TData>];
|
| 589 | interface BlockerBlocked {
|
| 590 | state: "blocked";
|
| 591 | reset: () => void;
|
| 592 | proceed: () => void;
|
| 593 | location: Location;
|
| 594 | }
|
| 595 | interface BlockerUnblocked {
|
| 596 | state: "unblocked";
|
| 597 | reset: undefined;
|
| 598 | proceed: undefined;
|
| 599 | location: undefined;
|
| 600 | }
|
| 601 | interface BlockerProceeding {
|
| 602 | state: "proceeding";
|
| 603 | reset: undefined;
|
| 604 | proceed: undefined;
|
| 605 | location: Location;
|
| 606 | }
|
| 607 | type Blocker = BlockerUnblocked | BlockerBlocked | BlockerProceeding;
|
| 608 | type BlockerFunction = (args: {
|
| 609 | currentLocation: Location;
|
| 610 | nextLocation: Location;
|
| 611 | historyAction: Action;
|
| 612 | }) => boolean;
|
| 613 | declare const IDLE_NAVIGATION: NavigationStates["Idle"];
|
| 614 | declare const IDLE_FETCHER: FetcherStates["Idle"];
|
| 615 | declare const IDLE_BLOCKER: BlockerUnblocked;
|
| 616 | |
| 617 | |
| 618 |
|
| 619 | declare function createRouter(init: RouterInit): Router;
|
| 620 | interface CreateStaticHandlerOptions {
|
| 621 | basename?: string;
|
| 622 | mapRouteProperties?: MapRoutePropertiesFunction;
|
| 623 | instrumentations?: Pick<ServerInstrumentation, "route">[];
|
| 624 | future?: Partial<FutureConfig>;
|
| 625 | }
|
| 626 |
|
| 627 | type ServerInstrumentation = {
|
| 628 | handler?: InstrumentRequestHandlerFunction;
|
| 629 | route?: InstrumentRouteFunction;
|
| 630 | };
|
| 631 | type ClientInstrumentation = {
|
| 632 | router?: InstrumentRouterFunction;
|
| 633 | route?: InstrumentRouteFunction;
|
| 634 | };
|
| 635 | type InstrumentRequestHandlerFunction = (handler: InstrumentableRequestHandler) => void;
|
| 636 | type InstrumentRouterFunction = (router: InstrumentableRouter) => void;
|
| 637 | type InstrumentRouteFunction = (route: InstrumentableRoute) => void;
|
| 638 | type InstrumentationHandlerResult = {
|
| 639 | status: "success";
|
| 640 | error: undefined;
|
| 641 | } | {
|
| 642 | status: "error";
|
| 643 | error: Error;
|
| 644 | };
|
| 645 | type InstrumentFunction<T> = (handler: () => Promise<InstrumentationHandlerResult>, info: T) => Promise<void>;
|
| 646 | type ReadonlyRequest = {
|
| 647 | method: string;
|
| 648 | url: string;
|
| 649 | headers: Pick<Headers, "get">;
|
| 650 | };
|
| 651 | type ReadonlyContext = MiddlewareEnabled extends true ? Pick<RouterContextProvider, "get"> : Readonly<AppLoadContext>;
|
| 652 | type InstrumentableRoute = {
|
| 653 | id: string;
|
| 654 | index: boolean | undefined;
|
| 655 | path: string | undefined;
|
| 656 | instrument(instrumentations: RouteInstrumentations): void;
|
| 657 | };
|
| 658 | type RouteInstrumentations = {
|
| 659 | lazy?: InstrumentFunction<RouteLazyInstrumentationInfo>;
|
| 660 | "lazy.loader"?: InstrumentFunction<RouteLazyInstrumentationInfo>;
|
| 661 | "lazy.action"?: InstrumentFunction<RouteLazyInstrumentationInfo>;
|
| 662 | "lazy.middleware"?: InstrumentFunction<RouteLazyInstrumentationInfo>;
|
| 663 | middleware?: InstrumentFunction<RouteHandlerInstrumentationInfo>;
|
| 664 | loader?: InstrumentFunction<RouteHandlerInstrumentationInfo>;
|
| 665 | action?: InstrumentFunction<RouteHandlerInstrumentationInfo>;
|
| 666 | };
|
| 667 | type RouteLazyInstrumentationInfo = undefined;
|
| 668 | type RouteHandlerInstrumentationInfo = Readonly<{
|
| 669 | request: ReadonlyRequest;
|
| 670 | params: LoaderFunctionArgs["params"];
|
| 671 | pattern: string;
|
| 672 | context: ReadonlyContext;
|
| 673 | }>;
|
| 674 | type InstrumentableRouter = {
|
| 675 | instrument(instrumentations: RouterInstrumentations): void;
|
| 676 | };
|
| 677 | type RouterInstrumentations = {
|
| 678 | navigate?: InstrumentFunction<RouterNavigationInstrumentationInfo>;
|
| 679 | fetch?: InstrumentFunction<RouterFetchInstrumentationInfo>;
|
| 680 | };
|
| 681 | type RouterNavigationInstrumentationInfo = Readonly<{
|
| 682 | to: string | number;
|
| 683 | currentUrl: string;
|
| 684 | formMethod?: HTMLFormMethod;
|
| 685 | formEncType?: FormEncType;
|
| 686 | formData?: FormData;
|
| 687 | body?: any;
|
| 688 | }>;
|
| 689 | type RouterFetchInstrumentationInfo = Readonly<{
|
| 690 | href: string;
|
| 691 | currentUrl: string;
|
| 692 | fetcherKey: string;
|
| 693 | formMethod?: HTMLFormMethod;
|
| 694 | formEncType?: FormEncType;
|
| 695 | formData?: FormData;
|
| 696 | body?: any;
|
| 697 | }>;
|
| 698 | type InstrumentableRequestHandler = {
|
| 699 | instrument(instrumentations: RequestHandlerInstrumentations): void;
|
| 700 | };
|
| 701 | type RequestHandlerInstrumentations = {
|
| 702 | request?: InstrumentFunction<RequestHandlerInstrumentationInfo>;
|
| 703 | };
|
| 704 | type RequestHandlerInstrumentationInfo = Readonly<{
|
| 705 | request: ReadonlyRequest;
|
| 706 | context: ReadonlyContext | undefined;
|
| 707 | }>;
|
| 708 |
|
| 709 | export { type BlockerFunction as B, type ClientInstrumentation as C, type Fetcher as F, type GetScrollPositionFunction as G, type HydrationState as H, type InstrumentRequestHandlerFunction as I, type Navigation as N, type RouterInit as R, type StaticHandler as S, type Router as a, type Blocker as b, type RelativeRoutingType as c, type RouterState as d, type GetScrollRestorationKeyFunction as e, type StaticHandlerContext as f, type NavigationStates as g, type RouterSubscriber as h, type RouterNavigateOptions as i, type RouterFetchOptions as j, type RevalidationState as k, type ServerInstrumentation as l, type InstrumentRouterFunction as m, type InstrumentRouteFunction as n, type InstrumentationHandlerResult as o, IDLE_NAVIGATION as p, IDLE_FETCHER as q, IDLE_BLOCKER as r, createRouter as s, type FutureConfig as t, type CreateStaticHandlerOptions as u };
|