@qwik.dev/router 2.0.0-beta.1 → 2.0.0-beta.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. package/adapters/static/vite.d.ts +1 -1
  2. package/lib/adapters/azure-swa/vite/index-BqUeglYs.cjs +1 -0
  3. package/lib/adapters/azure-swa/vite/index-CBIchDYq.js +651 -0
  4. package/lib/adapters/azure-swa/vite/index-ClHGw5z1.js +6 -0
  5. package/lib/adapters/azure-swa/vite/index-CrwlB95_.js +22 -0
  6. package/lib/adapters/azure-swa/vite/index-DTIOTwZo.cjs +11 -0
  7. package/lib/adapters/azure-swa/vite/index-vQuPcef3.cjs +1 -0
  8. package/lib/adapters/azure-swa/vite/index.cjs +5 -96
  9. package/lib/adapters/azure-swa/vite/index.d.ts +2 -2
  10. package/lib/adapters/azure-swa/vite/index.mjs +205 -26
  11. package/lib/adapters/bun-server/vite/index-BqUeglYs.cjs +1 -0
  12. package/lib/adapters/bun-server/vite/index-CBIchDYq.js +651 -0
  13. package/lib/adapters/bun-server/vite/index-ClHGw5z1.js +6 -0
  14. package/lib/adapters/bun-server/vite/index-CrwlB95_.js +22 -0
  15. package/lib/adapters/bun-server/vite/index-DTIOTwZo.cjs +11 -0
  16. package/lib/adapters/bun-server/vite/index-vQuPcef3.cjs +1 -0
  17. package/lib/adapters/bun-server/vite/index.cjs +5 -50
  18. package/lib/adapters/bun-server/vite/index.d.ts +2 -2
  19. package/lib/adapters/bun-server/vite/index.mjs +200 -12
  20. package/lib/adapters/cloud-run/vite/index-BqUeglYs.cjs +1 -0
  21. package/lib/adapters/cloud-run/vite/index-CBIchDYq.js +651 -0
  22. package/lib/adapters/cloud-run/vite/index-ClHGw5z1.js +6 -0
  23. package/lib/adapters/cloud-run/vite/index-CrwlB95_.js +22 -0
  24. package/lib/adapters/cloud-run/vite/index-DTIOTwZo.cjs +11 -0
  25. package/lib/adapters/cloud-run/vite/index-vQuPcef3.cjs +1 -0
  26. package/lib/adapters/cloud-run/vite/index.cjs +5 -47
  27. package/lib/adapters/cloud-run/vite/index.d.ts +2 -2
  28. package/lib/adapters/cloud-run/vite/index.mjs +199 -11
  29. package/lib/adapters/cloudflare-pages/vite/index-Bg_9YkM5.js +22 -0
  30. package/lib/adapters/cloudflare-pages/vite/index-C1aDmh1S.cjs +1 -0
  31. package/lib/adapters/cloudflare-pages/vite/index-CHT9Y93A.js +254 -0
  32. package/lib/adapters/cloudflare-pages/vite/index-Ck7KvpK1.cjs +11 -0
  33. package/lib/adapters/cloudflare-pages/vite/index-ClHGw5z1.js +6 -0
  34. package/lib/adapters/cloudflare-pages/vite/index-Cp1cjAds.js +645 -0
  35. package/lib/adapters/cloudflare-pages/vite/index-D9RL9dvJ.cjs +5 -0
  36. package/lib/adapters/cloudflare-pages/vite/index-vQuPcef3.cjs +1 -0
  37. package/lib/adapters/cloudflare-pages/vite/index.cjs +1 -115
  38. package/lib/adapters/cloudflare-pages/vite/index.d.ts +2 -2
  39. package/lib/adapters/cloudflare-pages/vite/index.mjs +4 -78
  40. package/lib/adapters/deno-server/vite/index-BqUeglYs.cjs +1 -0
  41. package/lib/adapters/deno-server/vite/index-CBIchDYq.js +651 -0
  42. package/lib/adapters/deno-server/vite/index-ClHGw5z1.js +6 -0
  43. package/lib/adapters/deno-server/vite/index-CrwlB95_.js +22 -0
  44. package/lib/adapters/deno-server/vite/index-DTIOTwZo.cjs +11 -0
  45. package/lib/adapters/deno-server/vite/index-vQuPcef3.cjs +1 -0
  46. package/lib/adapters/deno-server/vite/index.cjs +5 -62
  47. package/lib/adapters/deno-server/vite/index.d.ts +2 -2
  48. package/lib/adapters/deno-server/vite/index.mjs +202 -14
  49. package/lib/adapters/netlify-edge/vite/index-BqUeglYs.cjs +1 -0
  50. package/lib/adapters/netlify-edge/vite/index-CBIchDYq.js +651 -0
  51. package/lib/adapters/netlify-edge/vite/index-ClHGw5z1.js +6 -0
  52. package/lib/adapters/netlify-edge/vite/index-CrwlB95_.js +22 -0
  53. package/lib/adapters/netlify-edge/vite/index-DTIOTwZo.cjs +11 -0
  54. package/lib/adapters/netlify-edge/vite/index-vQuPcef3.cjs +1 -0
  55. package/lib/adapters/netlify-edge/vite/index.cjs +6 -129
  56. package/lib/adapters/netlify-edge/vite/index.d.ts +2 -2
  57. package/lib/adapters/netlify-edge/vite/index.mjs +244 -60
  58. package/lib/adapters/node-server/vite/index-BqUeglYs.cjs +1 -0
  59. package/lib/adapters/node-server/vite/index-CBIchDYq.js +651 -0
  60. package/lib/adapters/node-server/vite/index-ClHGw5z1.js +6 -0
  61. package/lib/adapters/node-server/vite/index-CrwlB95_.js +22 -0
  62. package/lib/adapters/node-server/vite/index-DTIOTwZo.cjs +11 -0
  63. package/lib/adapters/node-server/vite/index-vQuPcef3.cjs +1 -0
  64. package/lib/adapters/node-server/vite/index.cjs +5 -50
  65. package/lib/adapters/node-server/vite/index.d.ts +2 -2
  66. package/lib/adapters/node-server/vite/index.mjs +200 -12
  67. package/lib/adapters/shared/vite/index-BqUeglYs.cjs +1 -0
  68. package/lib/adapters/shared/vite/index-CBIchDYq.js +651 -0
  69. package/lib/adapters/shared/vite/index-ClHGw5z1.js +6 -0
  70. package/lib/adapters/shared/vite/index-CrwlB95_.js +22 -0
  71. package/lib/adapters/shared/vite/index-DTIOTwZo.cjs +11 -0
  72. package/lib/adapters/shared/vite/index-vQuPcef3.cjs +1 -0
  73. package/lib/adapters/shared/vite/index.cjs +2 -375
  74. package/lib/adapters/shared/vite/index.d.ts +9 -15
  75. package/lib/adapters/shared/vite/index.mjs +159 -292
  76. package/lib/adapters/ssg/vite/index-BqUeglYs.cjs +1 -0
  77. package/lib/adapters/ssg/vite/index-CBIchDYq.js +651 -0
  78. package/lib/adapters/ssg/vite/index-ClHGw5z1.js +6 -0
  79. package/lib/adapters/ssg/vite/index-CrwlB95_.js +22 -0
  80. package/lib/adapters/ssg/vite/index-DTIOTwZo.cjs +11 -0
  81. package/lib/adapters/ssg/vite/index-vQuPcef3.cjs +1 -0
  82. package/lib/adapters/ssg/vite/index.cjs +5 -0
  83. package/lib/adapters/ssg/vite/index.d.ts +13 -0
  84. package/lib/adapters/ssg/vite/index.mjs +205 -0
  85. package/lib/adapters/vercel-edge/vite/index-BqUeglYs.cjs +1 -0
  86. package/lib/adapters/vercel-edge/vite/index-CBIchDYq.js +651 -0
  87. package/lib/adapters/vercel-edge/vite/index-ClHGw5z1.js +6 -0
  88. package/lib/adapters/vercel-edge/vite/index-CrwlB95_.js +22 -0
  89. package/lib/adapters/vercel-edge/vite/index-DTIOTwZo.cjs +11 -0
  90. package/lib/adapters/vercel-edge/vite/index-vQuPcef3.cjs +1 -0
  91. package/lib/adapters/vercel-edge/vite/index.cjs +5 -118
  92. package/lib/adapters/vercel-edge/vite/index.d.ts +2 -2
  93. package/lib/adapters/vercel-edge/vite/index.mjs +234 -51
  94. package/lib/index.d.ts +172 -50
  95. package/lib/index.qwik.cjs +370 -191
  96. package/lib/index.qwik.mjs +372 -193
  97. package/lib/middleware/aws-lambda/index.cjs +1 -0
  98. package/lib/middleware/aws-lambda/index.d.ts +3 -2
  99. package/lib/middleware/aws-lambda/index.mjs +27 -41
  100. package/lib/middleware/azure-swa/index.cjs +1 -0
  101. package/lib/middleware/azure-swa/index.mjs +46 -269
  102. package/lib/middleware/bun/index.cjs +1 -0
  103. package/lib/middleware/bun/index.mjs +68 -120
  104. package/lib/middleware/cloudflare-pages/index.cjs +1 -0
  105. package/lib/middleware/cloudflare-pages/index.mjs +48 -80
  106. package/lib/middleware/deno/index.cjs +1 -0
  107. package/lib/middleware/deno/index.mjs +63 -110
  108. package/lib/middleware/firebase/index.cjs +1 -0
  109. package/lib/middleware/firebase/index.mjs +16 -28
  110. package/lib/middleware/netlify-edge/index.cjs +1 -0
  111. package/lib/middleware/netlify-edge/index.mjs +36 -64
  112. package/lib/middleware/node/index.cjs +1 -314
  113. package/lib/middleware/node/index.mjs +116 -198
  114. package/lib/middleware/request-handler/index.cjs +11 -1607
  115. package/lib/middleware/request-handler/index.d.ts +63 -62
  116. package/lib/middleware/request-handler/index.mjs +890 -1333
  117. package/lib/middleware/vercel-edge/index.cjs +1 -0
  118. package/lib/middleware/vercel-edge/index.mjs +47 -82
  119. package/lib/modules.d.ts +4 -12
  120. package/lib/service-worker.cjs +1 -17
  121. package/lib/service-worker.mjs +5 -15
  122. package/lib/ssg/deno.cjs +1 -0
  123. package/lib/ssg/deno.mjs +6 -0
  124. package/lib/ssg/index-CBIchDYq.js +651 -0
  125. package/lib/ssg/index-ClHGw5z1.js +6 -0
  126. package/lib/ssg/index-DTIOTwZo.cjs +11 -0
  127. package/lib/ssg/index-vQuPcef3.cjs +1 -0
  128. package/lib/ssg/index.cjs +1 -0
  129. package/lib/{static → ssg}/index.d.ts +17 -17
  130. package/lib/ssg/index.mjs +22 -0
  131. package/lib/ssg/node.cjs +11 -0
  132. package/lib/ssg/node.mjs +651 -0
  133. package/lib/vite/index.cjs +28 -27431
  134. package/lib/vite/index.d.ts +19 -3
  135. package/lib/vite/index.mjs +1425 -27227
  136. package/modules.d.ts +4 -12
  137. package/package.json +50 -39
  138. package/ssg.d.ts +2 -0
  139. package/static.d.ts +1 -1
  140. package/lib/adapters/static/vite/index.cjs +0 -368
  141. package/lib/adapters/static/vite/index.d.ts +0 -10
  142. package/lib/adapters/static/vite/index.mjs +0 -331
  143. package/lib/static/deno.mjs +0 -8
  144. package/lib/static/index.cjs +0 -67
  145. package/lib/static/index.mjs +0 -48
  146. package/lib/static/node.cjs +0 -1124
  147. package/lib/static/node.mjs +0 -1086
  148. package/middleware/request-handler/generated/not-found-paths.ts +0 -7
  149. package/middleware/request-handler/generated/static-paths.ts +0 -35
package/lib/index.d.ts CHANGED
@@ -12,6 +12,8 @@ import { QRLEventHandlerMulti } from '@qwik.dev/core';
12
12
  import { QwikIntrinsicElements } from '@qwik.dev/core';
13
13
  import { QwikJSX } from '@qwik.dev/core';
14
14
  import type { ReadonlySignal } from '@qwik.dev/core';
15
+ import { Render } from '@qwik.dev/core/server';
16
+ import { RenderOptions } from '@qwik.dev/core/server';
15
17
  import { RequestEvent } from '@qwik.dev/router/middleware/request-handler';
16
18
  import { RequestEventAction } from '@qwik.dev/router/middleware/request-handler';
17
19
  import { RequestEventBase } from '@qwik.dev/router/middleware/request-handler';
@@ -19,6 +21,7 @@ import { RequestEventCommon } from '@qwik.dev/router/middleware/request-handler'
19
21
  import { RequestEventLoader } from '@qwik.dev/router/middleware/request-handler';
20
22
  import { RequestHandler } from '@qwik.dev/router/middleware/request-handler';
21
23
  import type { ResolveSyncValue } from '@qwik.dev/router/middleware/request-handler';
24
+ import type { SerializationStrategy } from '@qwik.dev/core/internal';
22
25
  import type * as v from 'valibot';
23
26
  import type { ValueOrPromise } from '@qwik.dev/core';
24
27
  import { z } from 'zod';
@@ -188,6 +191,38 @@ export { CookieOptions }
188
191
 
189
192
  export { CookieValue }
190
193
 
194
+ /**
195
+ * Creates the `render()` function that is required by `createQwikRouter()`. It requires a function
196
+ * that returns the `jsx` and `options` for the renderer.
197
+ *
198
+ * @example
199
+ *
200
+ * ```tsx
201
+ * const renderer = createRenderer((opts) => {
202
+ * if (opts.requestHeaders['x-hello'] === 'world') {
203
+ * return { jsx: <Hello />, options: opts };
204
+ * }
205
+ * return { jsx: <Root />, options: {
206
+ * ...opts,
207
+ * serverData: {
208
+ * ...opts.serverData,
209
+ * documentHead: {
210
+ * meta: [
211
+ * { name: 'renderedAt', content: new Date().toISOString() },
212
+ * ],
213
+ * },
214
+ * },
215
+ * } };
216
+ * });
217
+ * ```
218
+ *
219
+ * @public
220
+ */
221
+ export declare const createRenderer: (getOptions: (options: RendererOptions) => {
222
+ jsx: JSXOutput_2;
223
+ options: RendererOutputOptions;
224
+ }) => Render;
225
+
191
226
  /** @public */
192
227
  export declare type DataValidator<T extends Record<string, any> = {}> = {
193
228
  validate(ev: RequestEvent, data: unknown): Promise<ValidatorReturn<T>>;
@@ -213,14 +248,35 @@ export declare interface DocumentHeadProps extends RouteLocation {
213
248
  readonly resolveValue: ResolveSyncValue;
214
249
  }
215
250
 
251
+ /**
252
+ * This renders all the tags collected from `head`.
253
+ *
254
+ * You can partially override the head, for example if you want to change the title:
255
+ *
256
+ * ```tsx
257
+ * import { DocumentHeadTags, useDocumentHead } from '@qwik.dev/router';
258
+ *
259
+ * export default component$(() => {
260
+ * const head = useDocumentHead();
261
+ * return <DocumentHeadTags title={`${head.title} - My App`} />;
262
+ * });
263
+ * ```
264
+ *
265
+ * You don't have to use this component, you can also do it yourself for full control. Just copy the
266
+ * code from this component and modify it to your needs.
267
+ *
268
+ * Note that this component normally only runs once, during SSR. You can use Signals in your
269
+ * `src/root.tsx` to make runtime changes to `<head>` if needed.
270
+ *
271
+ * @public
272
+ */
273
+ export declare const DocumentHeadTags: Component<DocumentHeadValue<Record<string, unknown>>>;
274
+
216
275
  /** @public */
217
276
  export declare interface DocumentHeadValue<FrontMatter extends Record<string, any> = Record<string, unknown>> {
218
277
  /** Sets `document.title`. */
219
278
  readonly title?: string;
220
- /**
221
- * Used to manually set meta tags in the head. Additionally, the `data` property could be used to
222
- * set arbitrary data which the `<head>` component could later use to generate `<meta>` tags.
223
- */
279
+ /** Used to manually set meta tags in the head. */
224
280
  readonly meta?: readonly DocumentMeta[];
225
281
  /** Used to manually append `<link>` elements to the `<head>`. */
226
282
  readonly links?: readonly DocumentLink[];
@@ -237,53 +293,59 @@ export declare interface DocumentHeadValue<FrontMatter extends Record<string, an
237
293
  }
238
294
 
239
295
  /** @public */
240
- export declare interface DocumentLink {
241
- as?: string;
242
- crossorigin?: string;
243
- disabled?: boolean;
244
- href?: string;
245
- hreflang?: string;
246
- id?: string;
247
- imagesizes?: string;
248
- imagesrcset?: string;
249
- integrity?: string;
250
- media?: string;
251
- prefetch?: string;
252
- referrerpolicy?: string;
253
- rel?: string;
254
- sizes?: string;
255
- title?: string;
256
- type?: string;
257
- key?: string;
258
- }
296
+ export declare type DocumentLink = QwikIntrinsicElements['link'];
259
297
 
260
298
  /** @public */
261
- export declare interface DocumentMeta {
262
- readonly content?: string;
263
- readonly httpEquiv?: string;
264
- readonly name?: string;
265
- readonly property?: string;
266
- readonly key?: string;
267
- readonly itemprop?: string;
268
- readonly media?: string;
269
- }
270
-
271
- /** @beta */
272
- export declare interface DocumentScript {
273
- readonly script?: string;
274
- readonly props?: Readonly<QwikIntrinsicElements['script']>;
275
- readonly key?: string;
276
- }
299
+ export declare type DocumentMeta = QwikIntrinsicElements['meta'];
277
300
 
278
301
  /** @public */
279
- export declare interface DocumentStyle {
280
- readonly style: string;
281
- readonly props?: Readonly<QwikIntrinsicElements['style']>;
282
- readonly key?: string;
283
- }
302
+ export declare type DocumentScript = ((Omit<QwikIntrinsicElements['script'], 'dangerouslySetInnerHTML'> & {
303
+ props?: never;
304
+ }) | {
305
+ key?: string;
306
+ /**
307
+ * The props of the script element. @deprecated Prefer setting the properties directly instead
308
+ * of using this property.
309
+ */
310
+ props: Readonly<QwikIntrinsicElements['script']>;
311
+ }) & ({
312
+ /** The inline script content. */
313
+ script?: string;
314
+ dangerouslySetInnerHTML?: never;
315
+ } | {
316
+ dangerouslySetInnerHTML?: string;
317
+ script?: never;
318
+ });
319
+
320
+ /** @public */
321
+ export declare type DocumentStyle = Readonly<((Omit<QwikIntrinsicElements['style'], 'dangerouslySetInnerHTML'> & {
322
+ props?: never;
323
+ }) | {
324
+ key?: string;
325
+ /**
326
+ * The props of the style element. @deprecated Prefer setting the properties directly
327
+ * instead of using this property.
328
+ */
329
+ props: Readonly<QwikIntrinsicElements['style']>;
330
+ }) & ({
331
+ /** The inline style content. */
332
+ style?: string;
333
+ dangerouslySetInnerHTML?: never;
334
+ } | {
335
+ dangerouslySetInnerHTML?: string;
336
+ style?: never;
337
+ })>;
284
338
 
285
339
  declare type EndpointModuleLoader = () => Promise<RouteModule>;
286
340
 
341
+ declare interface EndpointResponse {
342
+ status: number;
343
+ loaders: Record<string, unknown>;
344
+ loadersSerializationStrategy: Map<string, SerializationStrategy>;
345
+ formData?: FormData;
346
+ action?: string;
347
+ }
348
+
287
349
  /** @public */
288
350
  export declare const ErrorBoundary: Component<ErrorBoundaryProps>;
289
351
 
@@ -426,6 +488,14 @@ export declare interface LinkProps extends AnchorAttributes {
426
488
  scroll?: boolean;
427
489
  }
428
490
 
491
+ declare type LoadedRoute = [
492
+ routeName: string,
493
+ params: PathParams,
494
+ mods: (RouteModule | ContentModule)[],
495
+ menu: ContentMenu | undefined,
496
+ routeBundleNames: string[] | undefined
497
+ ];
498
+
429
499
  /** @public */
430
500
  declare type Loader_2<RETURN> = {
431
501
  /**
@@ -450,7 +520,9 @@ declare type LoaderConstructorQRL = {
450
520
 
451
521
  /** @public */
452
522
  declare type LoaderOptions = {
453
- id?: string;
523
+ readonly id?: string;
524
+ readonly validation?: DataValidator[];
525
+ readonly serializationStrategy?: SerializationStrategy;
454
526
  };
455
527
 
456
528
  /** @public */
@@ -507,6 +579,9 @@ declare type Prettify<T> = {} & {
507
579
  */
508
580
  export declare type PreventNavigateCallback = (url?: number | URL) => ValueOrPromise<boolean>;
509
581
 
582
+ /** @public */
583
+ export declare const Q_ROUTE = "q:route";
584
+
510
585
  /**
511
586
  * @deprecated Use `QWIK_ROUTER_SCROLLER` instead (will be removed in V3)
512
587
  * @public
@@ -523,7 +598,7 @@ export declare const QWIK_ROUTER_SCROLLER = "_qRouterScroller";
523
598
  export declare type QwikCityMockProps = QwikRouterMockProps;
524
599
 
525
600
  /**
526
- * @deprecated Use `QwikRouterMockProvider` instead. Will be removed in V3
601
+ * @deprecated Use `useQwikMockRouter()` instead. Will be removed in V3
527
602
  * @public
528
603
  */
529
604
  export declare const QwikCityMockProvider: Component<QwikRouterMockProps>;
@@ -535,13 +610,13 @@ export declare const QwikCityMockProvider: Component<QwikRouterMockProps>;
535
610
  export declare type QwikCityPlan = QwikRouterConfig;
536
611
 
537
612
  /**
538
- * @deprecated Use `QwikRouterProps` instead. will be removed in V3
613
+ * @deprecated Use `QwikRouterProps` instead. Will be removed in v3.
539
614
  * @public
540
615
  */
541
616
  export declare type QwikCityProps = QwikRouterProps;
542
617
 
543
618
  /**
544
- * @deprecated Use `QwikRouterProvider` instead. will be removed in V3
619
+ * @deprecated Use `useQwikRouter()` instead. Will be removed in v3.
545
620
  * @public
546
621
  */
547
622
  export declare const QwikCityProvider: Component<QwikRouterProps>;
@@ -556,6 +631,15 @@ export declare interface QwikRouterConfig {
556
631
  readonly cacheModules?: boolean;
557
632
  }
558
633
 
634
+ /** @public */
635
+ export declare interface QwikRouterEnvData {
636
+ routeName: string;
637
+ ev: RequestEvent;
638
+ params: PathParams;
639
+ response: EndpointResponse;
640
+ loadedRoute: LoadedRoute | null;
641
+ }
642
+
559
643
  /** @public */
560
644
  export declare interface QwikRouterMockProps {
561
645
  url?: string;
@@ -575,12 +659,12 @@ export declare interface QwikRouterProps {
575
659
  *
576
660
  * @see https://github.com/WICG/view-transitions/blob/main/explainer.md
577
661
  * @see https://developer.mozilla.org/en-US/docs/Web/API/View_Transitions_API
578
- * @see https://caniuse.com/mdn-api_viewtransition
662
+ * @see https://caniuse.com/mdn_api_viewtransition
579
663
  */
580
664
  viewTransition?: boolean;
581
665
  }
582
666
 
583
- /** @public */
667
+ /** @public This is a wrapper around the `useQwikRouter()` hook. We recommend using the hook instead of this component. */
584
668
  export declare const QwikRouterProvider: Component<QwikRouterProps>;
585
669
 
586
670
  /** @public */
@@ -588,6 +672,18 @@ declare interface ReadonlySignal_2<T = unknown> {
588
672
  readonly value: T;
589
673
  }
590
674
 
675
+ /** @public */
676
+ export declare type RendererOptions = Omit<RenderOptions, 'serverData'> & {
677
+ serverData: ServerData;
678
+ };
679
+
680
+ /** @public */
681
+ export declare type RendererOutputOptions = Omit<RenderOptions, 'serverData'> & {
682
+ serverData: ServerData & {
683
+ documentHead?: DocumentHeadValue;
684
+ } & Record<string, unknown>;
685
+ };
686
+
591
687
  export { RequestEvent }
592
688
 
593
689
  export { RequestEventAction }
@@ -662,6 +758,18 @@ declare interface ServerConfig {
662
758
  fetchOptions?: any;
663
759
  }
664
760
 
761
+ /** @public The server data that is provided by Qwik Router during SSR rendering. It can be retrieved with `useServerData(key)` in the server, but it is not available in the client. */
762
+ export declare type ServerData = {
763
+ url: string;
764
+ requestHeaders: Record<string, string>;
765
+ locale: string | undefined;
766
+ nonce: string | undefined;
767
+ containerAttributes: Record<string, string> & {
768
+ [Q_ROUTE]: string;
769
+ };
770
+ qwikrouter: QwikRouterEnvData;
771
+ };
772
+
665
773
  /** @public */
666
774
  export declare type ServerFunction = {
667
775
  (this: RequestEventBase, ...args: any[]): any;
@@ -683,6 +791,12 @@ export declare type ServerQRL<T extends ServerFunction> = QRL<((abort: AbortSign
683
791
  * JS extensions are allowed) will be picked up, bundled into a separate file, and registered as a
684
792
  * service worker.
685
793
  *
794
+ * Qwik 1.14.0 and above now use `<link rel="modulepreload">` by default. If you didn't add custom
795
+ * service-worker logic, you should remove your service-worker.ts file(s) for the
796
+ * `ServiceWorkerRegister` Component to actually unregister the service-worker.js and delete its
797
+ * related cache. Make sure to keep the `ServiceWorkerRegister` Component in your app (without any
798
+ * service-worker.ts file) as long as you want to unregister the service-worker.js for your users.
799
+ *
686
800
  * @public
687
801
  */
688
802
  export declare const ServiceWorkerRegister: (props: {
@@ -785,6 +899,14 @@ export declare const usePreventNavigate$: (qrl: PreventNavigateCallback) => void
785
899
 
786
900
  /* Excluded from this release type: usePreventNavigateQrl */
787
901
 
902
+ /**
903
+ * @public
904
+ * This hook initializes Qwik Router, providing the necessary context for it to work.
905
+ *
906
+ * This hook should be used once, at the root of your application.
907
+ */
908
+ export declare const useQwikRouter: (props?: QwikRouterProps) => void;
909
+
788
910
  /** @beta */
789
911
  export declare const valibot$: ValibotConstructor;
790
912