next-intl 3.21.1 → 3.21.2-canary.0

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 (129) hide show
  1. package/dist/development/middleware/middleware.js +19 -17
  2. package/dist/development/middleware/resolveLocale.js +20 -34
  3. package/dist/development/middleware/syncCookie.js +8 -7
  4. package/dist/development/navigation/react-client/ClientLink.js +2 -2
  5. package/dist/development/navigation/react-client/createLocalizedPathnamesNavigation.js +6 -1
  6. package/dist/development/navigation/react-client/createNavigation.js +83 -0
  7. package/dist/development/navigation/react-client/createSharedPathnamesNavigation.js +6 -1
  8. package/dist/development/navigation/react-client/useBasePathname.js +0 -14
  9. package/dist/development/navigation/react-client/useBaseRouter.js +3 -3
  10. package/dist/development/navigation/react-server/ServerLink.js +4 -2
  11. package/dist/development/navigation/react-server/createLocalizedPathnamesNavigation.js +5 -4
  12. package/dist/development/navigation/react-server/createNavigation.js +30 -0
  13. package/dist/development/navigation/react-server/createSharedPathnamesNavigation.js +2 -0
  14. package/dist/development/navigation/react-server/redirects.js +2 -2
  15. package/dist/development/navigation/shared/BaseLink.js +30 -26
  16. package/dist/development/navigation/shared/LegacyBaseLink.js +57 -0
  17. package/dist/development/navigation/shared/createSharedNavigationFns.js +148 -0
  18. package/dist/development/navigation/shared/redirects.js +3 -0
  19. package/dist/development/navigation/shared/syncLocaleCookie.js +26 -5
  20. package/dist/development/navigation/shared/utils.js +40 -1
  21. package/dist/development/navigation.react-client.js +2 -0
  22. package/dist/development/navigation.react-server.js +2 -0
  23. package/dist/development/react-client/index.js +0 -2
  24. package/dist/development/routing/config.js +18 -1
  25. package/dist/development/server/react-server/RequestLocale.js +15 -25
  26. package/dist/development/server/react-server/RequestLocaleCache.js +23 -0
  27. package/dist/development/server/react-server/RequestLocaleLegacy.js +43 -0
  28. package/dist/development/server/react-server/getConfig.js +15 -17
  29. package/dist/development/server/react-server/getRequestConfig.js +1 -1
  30. package/dist/development/server.react-server.js +2 -2
  31. package/dist/development/shared/constants.js +0 -9
  32. package/dist/esm/middleware/middleware.js +1 -1
  33. package/dist/esm/middleware/resolveLocale.js +1 -1
  34. package/dist/esm/middleware/syncCookie.js +1 -1
  35. package/dist/esm/navigation/react-client/ClientLink.js +1 -1
  36. package/dist/esm/navigation/react-client/createLocalizedPathnamesNavigation.js +1 -1
  37. package/dist/esm/navigation/react-client/createNavigation.js +1 -0
  38. package/dist/esm/navigation/react-client/createSharedPathnamesNavigation.js +1 -1
  39. package/dist/esm/navigation/react-client/useBasePathname.js +0 -1
  40. package/dist/esm/navigation/react-client/useBaseRouter.js +1 -1
  41. package/dist/esm/navigation/react-server/ServerLink.js +1 -1
  42. package/dist/esm/navigation/react-server/createLocalizedPathnamesNavigation.js +1 -1
  43. package/dist/esm/navigation/react-server/createNavigation.js +1 -0
  44. package/dist/esm/navigation/react-server/createSharedPathnamesNavigation.js +1 -1
  45. package/dist/esm/navigation/react-server/redirects.js +1 -1
  46. package/dist/esm/navigation/shared/BaseLink.js +1 -1
  47. package/dist/esm/navigation/shared/LegacyBaseLink.js +2 -0
  48. package/dist/esm/navigation/shared/createSharedNavigationFns.js +1 -0
  49. package/dist/esm/navigation/shared/syncLocaleCookie.js +1 -1
  50. package/dist/esm/navigation/shared/utils.js +1 -1
  51. package/dist/esm/navigation.react-client.js +1 -1
  52. package/dist/esm/navigation.react-server.js +1 -1
  53. package/dist/esm/routing/config.js +1 -1
  54. package/dist/esm/server/react-server/RequestLocale.js +1 -1
  55. package/dist/esm/server/react-server/RequestLocaleCache.js +1 -0
  56. package/dist/esm/server/react-server/RequestLocaleLegacy.js +1 -0
  57. package/dist/esm/server/react-server/getConfig.js +1 -1
  58. package/dist/esm/server.react-server.js +1 -1
  59. package/dist/esm/shared/constants.js +1 -1
  60. package/dist/production/middleware/middleware.js +1 -1
  61. package/dist/production/middleware/resolveLocale.js +1 -1
  62. package/dist/production/middleware/syncCookie.js +1 -1
  63. package/dist/production/navigation/react-client/ClientLink.js +1 -1
  64. package/dist/production/navigation/react-client/createLocalizedPathnamesNavigation.js +1 -1
  65. package/dist/production/navigation/react-client/createNavigation.js +1 -0
  66. package/dist/production/navigation/react-client/createSharedPathnamesNavigation.js +1 -1
  67. package/dist/production/navigation/react-client/useBasePathname.js +0 -1
  68. package/dist/production/navigation/react-client/useBaseRouter.js +1 -1
  69. package/dist/production/navigation/react-server/ServerLink.js +1 -1
  70. package/dist/production/navigation/react-server/createLocalizedPathnamesNavigation.js +1 -1
  71. package/dist/production/navigation/react-server/createNavigation.js +1 -0
  72. package/dist/production/navigation/react-server/createSharedPathnamesNavigation.js +1 -1
  73. package/dist/production/navigation/react-server/redirects.js +1 -1
  74. package/dist/production/navigation/shared/BaseLink.js +1 -1
  75. package/dist/production/navigation/shared/LegacyBaseLink.js +2 -0
  76. package/dist/production/navigation/shared/createSharedNavigationFns.js +1 -0
  77. package/dist/production/navigation/shared/syncLocaleCookie.js +1 -1
  78. package/dist/production/navigation/shared/utils.js +1 -1
  79. package/dist/production/navigation.react-client.js +1 -1
  80. package/dist/production/navigation.react-server.js +1 -1
  81. package/dist/production/routing/config.js +1 -1
  82. package/dist/production/server/react-server/RequestLocale.js +1 -1
  83. package/dist/production/server/react-server/RequestLocaleCache.js +1 -0
  84. package/dist/production/server/react-server/RequestLocaleLegacy.js +1 -0
  85. package/dist/production/server/react-server/getConfig.js +1 -1
  86. package/dist/production/server.react-server.js +1 -1
  87. package/dist/production/shared/constants.js +1 -1
  88. package/dist/types/src/middleware/getAlternateLinksHeaderValue.d.ts +3 -3
  89. package/dist/types/src/middleware/middleware.d.ts +11 -3
  90. package/dist/types/src/middleware/resolveLocale.d.ts +2 -3
  91. package/dist/types/src/middleware/syncCookie.d.ts +2 -1
  92. package/dist/types/src/middleware/utils.d.ts +4 -4
  93. package/dist/types/src/navigation/createNavigation.test.d.ts +1 -0
  94. package/dist/types/src/navigation/react-client/ClientLink.d.ts +6 -6
  95. package/dist/types/src/navigation/react-client/createLocalizedPathnamesNavigation.d.ts +17 -5
  96. package/dist/types/src/navigation/react-client/createNavigation.d.ts +467 -0
  97. package/dist/types/src/navigation/react-client/createNavigation.test.d.ts +1 -0
  98. package/dist/types/src/navigation/react-client/createSharedPathnamesNavigation.d.ts +9 -5
  99. package/dist/types/src/navigation/react-client/index.d.ts +1 -0
  100. package/dist/types/src/navigation/react-client/redirects.d.ts +4 -4
  101. package/dist/types/src/navigation/react-client/useBasePathname.d.ts +2 -15
  102. package/dist/types/src/navigation/react-client/useBaseRouter.d.ts +3 -2
  103. package/dist/types/src/navigation/react-server/ServerLink.d.ts +5 -5
  104. package/dist/types/src/navigation/react-server/createLocalizedPathnamesNavigation.d.ts +14 -5
  105. package/dist/types/src/navigation/react-server/createNavigation.d.ts +385 -0
  106. package/dist/types/src/navigation/react-server/createNavigation.test.d.ts +1 -0
  107. package/dist/types/src/navigation/react-server/createSharedPathnamesNavigation.d.ts +3 -3
  108. package/dist/types/src/navigation/react-server/index.d.ts +1 -0
  109. package/dist/types/src/navigation/react-server/redirects.d.ts +4 -4
  110. package/dist/types/src/navigation/shared/BaseLink.d.ts +13 -6
  111. package/dist/types/src/navigation/shared/LegacyBaseLink.d.ts +12 -0
  112. package/dist/types/src/navigation/shared/createSharedNavigationFns.d.ts +385 -0
  113. package/dist/types/src/navigation/shared/redirects.d.ts +5 -5
  114. package/dist/types/src/navigation/shared/syncLocaleCookie.d.ts +2 -1
  115. package/dist/types/src/navigation/shared/utils.d.ts +10 -3
  116. package/dist/types/src/routing/config.d.ts +46 -11
  117. package/dist/types/src/routing/defineRouting.d.ts +2 -2
  118. package/dist/types/src/routing/types.d.ts +4 -4
  119. package/dist/types/src/server/react-server/RequestLocale.d.ts +1 -2
  120. package/dist/types/src/server/react-server/RequestLocaleCache.d.ts +2 -0
  121. package/dist/types/src/server/react-server/RequestLocaleLegacy.d.ts +1 -0
  122. package/dist/types/src/server/react-server/createRequestConfig.d.ts +2 -3
  123. package/dist/types/src/server/react-server/getRequestConfig.d.ts +32 -6
  124. package/dist/types/src/server/react-server/index.d.ts +1 -1
  125. package/dist/types/src/shared/constants.d.ts +0 -3
  126. package/dist/types/src/shared/types.d.ts +3 -0
  127. package/dist/types/src/shared/utils.d.ts +2 -2
  128. package/package.json +3 -3
  129. package/dist/types/src/middleware/config.d.ts +0 -7
@@ -1,9 +1,8 @@
1
1
  import { RequestCookies } from 'next/dist/server/web/spec-extension/cookies';
2
2
  import { ResolvedRoutingConfig } from '../routing/config';
3
- import { Locales, Pathnames, DomainConfig } from '../routing/types';
4
- import { ResolvedMiddlewareOptions } from './config';
3
+ import { Locales, Pathnames, DomainsConfig, DomainConfig, LocalePrefixMode } from '../routing/types';
5
4
  export declare function getAcceptLanguageLocale<AppLocales extends Locales>(requestHeaders: Headers, locales: AppLocales, defaultLocale: string): string | undefined;
6
- export default function resolveLocale<AppLocales extends Locales, AppPathnames extends Pathnames<AppLocales> = never>(routing: ResolvedRoutingConfig<AppLocales, AppPathnames>, options: ResolvedMiddlewareOptions, requestHeaders: Headers, requestCookies: RequestCookies, pathname: string): {
5
+ export default function resolveLocale<AppLocales extends Locales, AppLocalePrefixMode extends LocalePrefixMode, AppPathnames extends Pathnames<AppLocales> | undefined, AppDomains extends DomainsConfig<AppLocales> | undefined>(routing: Omit<ResolvedRoutingConfig<AppLocales, AppLocalePrefixMode, AppPathnames, AppDomains>, 'pathnames'>, requestHeaders: Headers, requestCookies: RequestCookies, pathname: string): {
7
6
  locale: AppLocales[number];
8
7
  domain?: DomainConfig<AppLocales>;
9
8
  };
@@ -1,2 +1,3 @@
1
1
  import { NextRequest, NextResponse } from 'next/server';
2
- export default function syncCookie(request: NextRequest, response: NextResponse, locale: string): void;
2
+ import { LocaleCookieConfig } from '../routing/config';
3
+ export default function syncCookie(request: NextRequest, response: NextResponse, locale: string, localeCookie: LocaleCookieConfig): void;
@@ -1,14 +1,14 @@
1
- import { Locales, LocalePrefixConfigVerbose, DomainConfig, Pathnames, DomainsConfig } from '../routing/types';
1
+ import { Locales, LocalePrefixConfigVerbose, DomainConfig, Pathnames, DomainsConfig, LocalePrefixMode } from '../routing/types';
2
2
  export declare function getFirstPathnameSegment(pathname: string): string;
3
3
  export declare function getInternalTemplate<AppLocales extends Locales, AppPathnames extends Pathnames<AppLocales>>(pathnames: AppPathnames, pathname: string, locale: AppLocales[number]): [AppLocales[number] | undefined, keyof AppPathnames | undefined];
4
4
  export declare function formatTemplatePathname(sourcePathname: string, sourceTemplate: string, targetTemplate: string, prefix?: string): string;
5
5
  /**
6
6
  * Removes potential prefixes from the pathname.
7
7
  */
8
- export declare function getNormalizedPathname<AppLocales extends Locales>(pathname: string, locales: AppLocales, localePrefix: LocalePrefixConfigVerbose<AppLocales>): string;
8
+ export declare function getNormalizedPathname<AppLocales extends Locales, AppLocalePrefixMode extends LocalePrefixMode>(pathname: string, locales: AppLocales, localePrefix: LocalePrefixConfigVerbose<AppLocales, AppLocalePrefixMode>): string;
9
9
  export declare function findCaseInsensitiveString(candidate: string, strings: Array<string>): string | undefined;
10
- export declare function getLocalePrefixes<AppLocales extends Locales>(locales: AppLocales, localePrefix: LocalePrefixConfigVerbose<AppLocales>, sort?: boolean): Array<[AppLocales[number], string]>;
11
- export declare function getPathnameMatch<AppLocales extends Locales>(pathname: string, locales: AppLocales, localePrefix: LocalePrefixConfigVerbose<AppLocales>): {
10
+ export declare function getLocalePrefixes<AppLocales extends Locales, AppLocalePrefixMode extends LocalePrefixMode>(locales: AppLocales, localePrefix: LocalePrefixConfigVerbose<AppLocales, AppLocalePrefixMode>, sort?: boolean): Array<[AppLocales[number], string]>;
11
+ export declare function getPathnameMatch<AppLocales extends Locales, AppLocalePrefixMode extends LocalePrefixMode>(pathname: string, locales: AppLocales, localePrefix: LocalePrefixConfigVerbose<AppLocales, AppLocalePrefixMode>): {
12
12
  locale: AppLocales[number];
13
13
  prefix: string;
14
14
  matchedPrefix: string;
@@ -1,9 +1,9 @@
1
1
  import { ComponentProps, ReactElement } from 'react';
2
- import { Locales, LocalePrefixConfigVerbose } from '../../routing/types';
3
- import BaseLink from '../shared/BaseLink';
4
- type Props<AppLocales extends Locales> = Omit<ComponentProps<typeof BaseLink>, 'locale' | 'prefix' | 'localePrefixMode'> & {
2
+ import { Locales, LocalePrefixConfigVerbose, LocalePrefixMode } from '../../routing/types';
3
+ import LegacyBaseLink from '../shared/LegacyBaseLink';
4
+ type Props<AppLocales extends Locales, AppLocalePrefixMode extends LocalePrefixMode> = Omit<ComponentProps<typeof LegacyBaseLink>, 'locale' | 'prefix' | 'localePrefixMode'> & {
5
5
  locale?: AppLocales[number];
6
- localePrefix: LocalePrefixConfigVerbose<AppLocales>;
6
+ localePrefix: LocalePrefixConfigVerbose<AppLocales, AppLocalePrefixMode>;
7
7
  };
8
8
  /**
9
9
  * Wraps `next/link` and prefixes the `href` with the current locale if
@@ -25,7 +25,7 @@ type Props<AppLocales extends Locales> = Omit<ComponentProps<typeof BaseLink>, '
25
25
  * the `set-cookie` response header would cause the locale cookie on the current
26
26
  * page to be overwritten before the user even decides to change the locale.
27
27
  */
28
- declare const ClientLinkWithRef: <AppLocales extends Locales>(props: Props<AppLocales> & {
29
- ref?: Props<AppLocales>["ref"];
28
+ declare const ClientLinkWithRef: <AppLocales extends Locales, AppLocalePrefixMode extends LocalePrefixMode>(props: Props<AppLocales, AppLocalePrefixMode> & {
29
+ ref?: Props<AppLocales, AppLocalePrefixMode>["ref"];
30
30
  }) => ReactElement;
31
31
  export default ClientLinkWithRef;
@@ -1,9 +1,12 @@
1
1
  import React, { ComponentProps, ReactElement } from 'react';
2
2
  import { RoutingConfigLocalizedNavigation } from '../../routing/config';
3
- import { Locales, Pathnames } from '../../routing/types';
3
+ import { DomainsConfig, LocalePrefixMode, Locales, Pathnames } from '../../routing/types';
4
4
  import { HrefOrHrefWithParams } from '../shared/utils';
5
5
  import ClientLink from './ClientLink';
6
- export default function createLocalizedPathnamesNavigation<AppLocales extends Locales, AppPathnames extends Pathnames<AppLocales>>(routing: RoutingConfigLocalizedNavigation<AppLocales, AppPathnames>): {
6
+ /**
7
+ * @deprecated Consider switching to `createNavigation` (see https://github.com/amannn/next-intl/pull/1316)
8
+ **/
9
+ export default function createLocalizedPathnamesNavigation<AppLocales extends Locales, AppLocalePrefixMode extends LocalePrefixMode = 'always', AppPathnames extends Pathnames<AppLocales> = never, AppDomains extends DomainsConfig<AppLocales> = never>(routing: RoutingConfigLocalizedNavigation<AppLocales, AppLocalePrefixMode, AppPathnames, AppDomains>): {
7
10
  Link: <Pathname extends keyof AppPathnames>(props: (Omit<Omit<Omit<Omit<Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, keyof {
8
11
  href: string | import("url").UrlObject;
9
12
  as?: string | import("url").UrlObject;
@@ -35,13 +38,22 @@ export default function createLocalizedPathnamesNavigation<AppLocales extends Lo
35
38
  } & React.RefAttributes<HTMLAnchorElement>, "locale"> & {
36
39
  locale: string;
37
40
  prefix: string;
38
- localePrefixMode: import("../../routing/types").LocalePrefixMode;
41
+ localePrefixMode: LocalePrefixMode;
42
+ localeCookie: import("../../routing/config").InitializedLocaleCookieConfig;
39
43
  }, "ref"> & React.RefAttributes<HTMLAnchorElement>, "locale" | "prefix" | "localePrefixMode"> & {
40
44
  locale?: string | undefined;
41
- localePrefix: import("../../routing/types").LocalePrefixConfigVerbose<Locales>;
45
+ localePrefix: {
46
+ mode: "never";
47
+ } | {
48
+ mode: "always";
49
+ prefixes?: Partial<Record<string, string>> | undefined;
50
+ } | {
51
+ mode: "as-needed";
52
+ prefixes?: Partial<Record<string, string>> | undefined;
53
+ };
42
54
  } & {
43
55
  ref?: React.LegacyRef<HTMLAnchorElement> | undefined;
44
- }, "localePrefix" | "href" | "name"> & {
56
+ }, "name" | "localePrefix" | "localeCookie" | "href"> & {
45
57
  href: Pathname extends `${string}[[...${string}` ? Pathname | ({
46
58
  pathname: Pathname;
47
59
  params?: import("../shared/StrictParams").default<Pathname> | undefined;
@@ -0,0 +1,467 @@
1
+ import { RoutingConfigLocalizedNavigation, RoutingConfigSharedNavigation } from '../../routing/config';
2
+ import { DomainsConfig, LocalePrefixMode, Locales, Pathnames } from '../../routing/types';
3
+ export default function createNavigation<const AppLocales extends Locales, const AppLocalePrefixMode extends LocalePrefixMode = 'always', const AppPathnames extends Pathnames<AppLocales> = never, const AppDomains extends DomainsConfig<AppLocales> = never>(routing?: [AppPathnames] extends [never] ? RoutingConfigSharedNavigation<AppLocales, AppLocalePrefixMode, AppDomains> | undefined : RoutingConfigLocalizedNavigation<AppLocales, AppLocalePrefixMode, AppPathnames, AppDomains>): {
4
+ Link: import("react").ForwardRefExoticComponent<Omit<{
5
+ locale?: string;
6
+ slot?: string | undefined;
7
+ style?: import("react").CSSProperties | undefined;
8
+ title?: string | undefined;
9
+ onError?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
10
+ children?: import("react").ReactNode | undefined;
11
+ ref?: import("react").LegacyRef<HTMLAnchorElement> | undefined;
12
+ replace?: boolean;
13
+ as?: string | import("url").UrlObject;
14
+ scroll?: boolean;
15
+ shallow?: boolean;
16
+ passHref?: boolean;
17
+ prefetch?: boolean;
18
+ legacyBehavior?: boolean;
19
+ onMouseEnter?: import("react").MouseEventHandler<HTMLAnchorElement>;
20
+ onTouchStart?: import("react").TouchEventHandler<HTMLAnchorElement>;
21
+ onClick?: import("react").MouseEventHandler<HTMLAnchorElement>;
22
+ download?: any;
23
+ hrefLang?: string | undefined;
24
+ media?: string | undefined;
25
+ ping?: string | undefined;
26
+ target?: import("react").HTMLAttributeAnchorTarget | undefined;
27
+ type?: string | undefined;
28
+ referrerPolicy?: import("react").HTMLAttributeReferrerPolicy | undefined;
29
+ defaultChecked?: boolean | undefined;
30
+ defaultValue?: string | number | readonly string[] | undefined;
31
+ suppressContentEditableWarning?: boolean | undefined;
32
+ suppressHydrationWarning?: boolean | undefined;
33
+ accessKey?: string | undefined;
34
+ autoFocus?: boolean | undefined;
35
+ className?: string | undefined;
36
+ contentEditable?: (boolean | "true" | "false") | "inherit" | "plaintext-only" | undefined;
37
+ contextMenu?: string | undefined;
38
+ dir?: string | undefined;
39
+ draggable?: (boolean | "true" | "false") | undefined;
40
+ hidden?: boolean | undefined;
41
+ id?: string | undefined;
42
+ lang?: string | undefined;
43
+ nonce?: string | undefined;
44
+ spellCheck?: (boolean | "true" | "false") | undefined;
45
+ tabIndex?: number | undefined;
46
+ translate?: "yes" | "no" | undefined;
47
+ radioGroup?: string | undefined;
48
+ role?: import("react").AriaRole | undefined;
49
+ about?: string | undefined;
50
+ content?: string | undefined;
51
+ datatype?: string | undefined;
52
+ inlist?: any;
53
+ prefix?: string | undefined;
54
+ property?: string | undefined;
55
+ rel?: string | undefined;
56
+ resource?: string | undefined;
57
+ rev?: string | undefined;
58
+ typeof?: string | undefined;
59
+ vocab?: string | undefined;
60
+ autoCapitalize?: string | undefined;
61
+ autoCorrect?: string | undefined;
62
+ autoSave?: string | undefined;
63
+ color?: string | undefined;
64
+ itemProp?: string | undefined;
65
+ itemScope?: boolean | undefined;
66
+ itemType?: string | undefined;
67
+ itemID?: string | undefined;
68
+ itemRef?: string | undefined;
69
+ results?: number | undefined;
70
+ security?: string | undefined;
71
+ unselectable?: "on" | "off" | undefined;
72
+ inputMode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined;
73
+ is?: string | undefined;
74
+ popover?: "" | "auto" | "manual" | undefined;
75
+ popoverTargetAction?: "toggle" | "show" | "hide" | undefined;
76
+ popoverTarget?: string | undefined;
77
+ onToggle?: import("react").ToggleEventHandler<HTMLAnchorElement> | undefined;
78
+ onBeforeToggle?: import("react").ToggleEventHandler<HTMLAnchorElement> | undefined;
79
+ inert?: boolean | undefined;
80
+ tw?: string;
81
+ "aria-activedescendant"?: string | undefined;
82
+ "aria-atomic"?: (boolean | "true" | "false") | undefined;
83
+ "aria-autocomplete"?: "none" | "inline" | "list" | "both" | undefined;
84
+ "aria-braillelabel"?: string | undefined;
85
+ "aria-brailleroledescription"?: string | undefined;
86
+ "aria-busy"?: (boolean | "true" | "false") | undefined;
87
+ "aria-checked"?: boolean | "false" | "mixed" | "true" | undefined;
88
+ "aria-colcount"?: number | undefined;
89
+ "aria-colindex"?: number | undefined;
90
+ "aria-colindextext"?: string | undefined;
91
+ "aria-colspan"?: number | undefined;
92
+ "aria-controls"?: string | undefined;
93
+ "aria-current"?: boolean | "false" | "true" | "page" | "step" | "location" | "date" | "time" | undefined;
94
+ "aria-describedby"?: string | undefined;
95
+ "aria-description"?: string | undefined;
96
+ "aria-details"?: string | undefined;
97
+ "aria-disabled"?: (boolean | "true" | "false") | undefined;
98
+ "aria-dropeffect"?: "none" | "copy" | "execute" | "link" | "move" | "popup" | undefined;
99
+ "aria-errormessage"?: string | undefined;
100
+ "aria-expanded"?: (boolean | "true" | "false") | undefined;
101
+ "aria-flowto"?: string | undefined;
102
+ "aria-grabbed"?: (boolean | "true" | "false") | undefined;
103
+ "aria-haspopup"?: boolean | "false" | "true" | "menu" | "listbox" | "tree" | "grid" | "dialog" | undefined;
104
+ "aria-hidden"?: (boolean | "true" | "false") | undefined;
105
+ "aria-invalid"?: boolean | "false" | "true" | "grammar" | "spelling" | undefined;
106
+ "aria-keyshortcuts"?: string | undefined;
107
+ "aria-label"?: string | undefined;
108
+ "aria-labelledby"?: string | undefined;
109
+ "aria-level"?: number | undefined;
110
+ "aria-live"?: "off" | "assertive" | "polite" | undefined;
111
+ "aria-modal"?: (boolean | "true" | "false") | undefined;
112
+ "aria-multiline"?: (boolean | "true" | "false") | undefined;
113
+ "aria-multiselectable"?: (boolean | "true" | "false") | undefined;
114
+ "aria-orientation"?: "horizontal" | "vertical" | undefined;
115
+ "aria-owns"?: string | undefined;
116
+ "aria-placeholder"?: string | undefined;
117
+ "aria-posinset"?: number | undefined;
118
+ "aria-pressed"?: boolean | "false" | "mixed" | "true" | undefined;
119
+ "aria-readonly"?: (boolean | "true" | "false") | undefined;
120
+ "aria-relevant"?: "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text" | "text additions" | "text removals" | undefined;
121
+ "aria-required"?: (boolean | "true" | "false") | undefined;
122
+ "aria-roledescription"?: string | undefined;
123
+ "aria-rowcount"?: number | undefined;
124
+ "aria-rowindex"?: number | undefined;
125
+ "aria-rowindextext"?: string | undefined;
126
+ "aria-rowspan"?: number | undefined;
127
+ "aria-selected"?: (boolean | "true" | "false") | undefined;
128
+ "aria-setsize"?: number | undefined;
129
+ "aria-sort"?: "none" | "ascending" | "descending" | "other" | undefined;
130
+ "aria-valuemax"?: number | undefined;
131
+ "aria-valuemin"?: number | undefined;
132
+ "aria-valuenow"?: number | undefined;
133
+ "aria-valuetext"?: string | undefined;
134
+ dangerouslySetInnerHTML?: {
135
+ __html: string | TrustedHTML;
136
+ } | undefined;
137
+ onCopy?: import("react").ClipboardEventHandler<HTMLAnchorElement> | undefined;
138
+ onCopyCapture?: import("react").ClipboardEventHandler<HTMLAnchorElement> | undefined;
139
+ onCut?: import("react").ClipboardEventHandler<HTMLAnchorElement> | undefined;
140
+ onCutCapture?: import("react").ClipboardEventHandler<HTMLAnchorElement> | undefined;
141
+ onPaste?: import("react").ClipboardEventHandler<HTMLAnchorElement> | undefined;
142
+ onPasteCapture?: import("react").ClipboardEventHandler<HTMLAnchorElement> | undefined;
143
+ onCompositionEnd?: import("react").CompositionEventHandler<HTMLAnchorElement> | undefined;
144
+ onCompositionEndCapture?: import("react").CompositionEventHandler<HTMLAnchorElement> | undefined;
145
+ onCompositionStart?: import("react").CompositionEventHandler<HTMLAnchorElement> | undefined;
146
+ onCompositionStartCapture?: import("react").CompositionEventHandler<HTMLAnchorElement> | undefined;
147
+ onCompositionUpdate?: import("react").CompositionEventHandler<HTMLAnchorElement> | undefined;
148
+ onCompositionUpdateCapture?: import("react").CompositionEventHandler<HTMLAnchorElement> | undefined;
149
+ onFocus?: import("react").FocusEventHandler<HTMLAnchorElement> | undefined;
150
+ onFocusCapture?: import("react").FocusEventHandler<HTMLAnchorElement> | undefined;
151
+ onBlur?: import("react").FocusEventHandler<HTMLAnchorElement> | undefined;
152
+ onBlurCapture?: import("react").FocusEventHandler<HTMLAnchorElement> | undefined;
153
+ onChange?: import("react").FormEventHandler<HTMLAnchorElement> | undefined;
154
+ onChangeCapture?: import("react").FormEventHandler<HTMLAnchorElement> | undefined;
155
+ onBeforeInput?: import("react").FormEventHandler<HTMLAnchorElement> | undefined;
156
+ onBeforeInputCapture?: import("react").FormEventHandler<HTMLAnchorElement> | undefined;
157
+ onInput?: import("react").FormEventHandler<HTMLAnchorElement> | undefined;
158
+ onInputCapture?: import("react").FormEventHandler<HTMLAnchorElement> | undefined;
159
+ onReset?: import("react").FormEventHandler<HTMLAnchorElement> | undefined;
160
+ onResetCapture?: import("react").FormEventHandler<HTMLAnchorElement> | undefined;
161
+ onSubmit?: import("react").FormEventHandler<HTMLAnchorElement> | undefined;
162
+ onSubmitCapture?: import("react").FormEventHandler<HTMLAnchorElement> | undefined;
163
+ onInvalid?: import("react").FormEventHandler<HTMLAnchorElement> | undefined;
164
+ onInvalidCapture?: import("react").FormEventHandler<HTMLAnchorElement> | undefined;
165
+ onLoad?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
166
+ onLoadCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
167
+ onErrorCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
168
+ onKeyDown?: import("react").KeyboardEventHandler<HTMLAnchorElement> | undefined;
169
+ onKeyDownCapture?: import("react").KeyboardEventHandler<HTMLAnchorElement> | undefined;
170
+ onKeyPress?: import("react").KeyboardEventHandler<HTMLAnchorElement> | undefined;
171
+ onKeyPressCapture?: import("react").KeyboardEventHandler<HTMLAnchorElement> | undefined;
172
+ onKeyUp?: import("react").KeyboardEventHandler<HTMLAnchorElement> | undefined;
173
+ onKeyUpCapture?: import("react").KeyboardEventHandler<HTMLAnchorElement> | undefined;
174
+ onAbort?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
175
+ onAbortCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
176
+ onCanPlay?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
177
+ onCanPlayCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
178
+ onCanPlayThrough?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
179
+ onCanPlayThroughCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
180
+ onDurationChange?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
181
+ onDurationChangeCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
182
+ onEmptied?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
183
+ onEmptiedCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
184
+ onEncrypted?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
185
+ onEncryptedCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
186
+ onEnded?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
187
+ onEndedCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
188
+ onLoadedData?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
189
+ onLoadedDataCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
190
+ onLoadedMetadata?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
191
+ onLoadedMetadataCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
192
+ onLoadStart?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
193
+ onLoadStartCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
194
+ onPause?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
195
+ onPauseCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
196
+ onPlay?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
197
+ onPlayCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
198
+ onPlaying?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
199
+ onPlayingCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
200
+ onProgress?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
201
+ onProgressCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
202
+ onRateChange?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
203
+ onRateChangeCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
204
+ onResize?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
205
+ onResizeCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
206
+ onSeeked?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
207
+ onSeekedCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
208
+ onSeeking?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
209
+ onSeekingCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
210
+ onStalled?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
211
+ onStalledCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
212
+ onSuspend?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
213
+ onSuspendCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
214
+ onTimeUpdate?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
215
+ onTimeUpdateCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
216
+ onVolumeChange?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
217
+ onVolumeChangeCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
218
+ onWaiting?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
219
+ onWaitingCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
220
+ onAuxClick?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
221
+ onAuxClickCapture?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
222
+ onClickCapture?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
223
+ onContextMenu?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
224
+ onContextMenuCapture?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
225
+ onDoubleClick?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
226
+ onDoubleClickCapture?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
227
+ onDrag?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
228
+ onDragCapture?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
229
+ onDragEnd?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
230
+ onDragEndCapture?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
231
+ onDragEnter?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
232
+ onDragEnterCapture?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
233
+ onDragExit?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
234
+ onDragExitCapture?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
235
+ onDragLeave?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
236
+ onDragLeaveCapture?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
237
+ onDragOver?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
238
+ onDragOverCapture?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
239
+ onDragStart?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
240
+ onDragStartCapture?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
241
+ onDrop?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
242
+ onDropCapture?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
243
+ onMouseDown?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
244
+ onMouseDownCapture?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
245
+ onMouseLeave?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
246
+ onMouseMove?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
247
+ onMouseMoveCapture?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
248
+ onMouseOut?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
249
+ onMouseOutCapture?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
250
+ onMouseOver?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
251
+ onMouseOverCapture?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
252
+ onMouseUp?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
253
+ onMouseUpCapture?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
254
+ onSelect?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
255
+ onSelectCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
256
+ onTouchCancel?: import("react").TouchEventHandler<HTMLAnchorElement> | undefined;
257
+ onTouchCancelCapture?: import("react").TouchEventHandler<HTMLAnchorElement> | undefined;
258
+ onTouchEnd?: import("react").TouchEventHandler<HTMLAnchorElement> | undefined;
259
+ onTouchEndCapture?: import("react").TouchEventHandler<HTMLAnchorElement> | undefined;
260
+ onTouchMove?: import("react").TouchEventHandler<HTMLAnchorElement> | undefined;
261
+ onTouchMoveCapture?: import("react").TouchEventHandler<HTMLAnchorElement> | undefined;
262
+ onTouchStartCapture?: import("react").TouchEventHandler<HTMLAnchorElement> | undefined;
263
+ onPointerDown?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
264
+ onPointerDownCapture?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
265
+ onPointerMove?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
266
+ onPointerMoveCapture?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
267
+ onPointerUp?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
268
+ onPointerUpCapture?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
269
+ onPointerCancel?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
270
+ onPointerCancelCapture?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
271
+ onPointerEnter?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
272
+ onPointerLeave?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
273
+ onPointerOver?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
274
+ onPointerOverCapture?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
275
+ onPointerOut?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
276
+ onPointerOutCapture?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
277
+ onGotPointerCapture?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
278
+ onGotPointerCaptureCapture?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
279
+ onLostPointerCapture?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
280
+ onLostPointerCaptureCapture?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
281
+ onScroll?: import("react").UIEventHandler<HTMLAnchorElement> | undefined;
282
+ onScrollCapture?: import("react").UIEventHandler<HTMLAnchorElement> | undefined;
283
+ onWheel?: import("react").WheelEventHandler<HTMLAnchorElement> | undefined;
284
+ onWheelCapture?: import("react").WheelEventHandler<HTMLAnchorElement> | undefined;
285
+ onAnimationStart?: import("react").AnimationEventHandler<HTMLAnchorElement> | undefined;
286
+ onAnimationStartCapture?: import("react").AnimationEventHandler<HTMLAnchorElement> | undefined;
287
+ onAnimationEnd?: import("react").AnimationEventHandler<HTMLAnchorElement> | undefined;
288
+ onAnimationEndCapture?: import("react").AnimationEventHandler<HTMLAnchorElement> | undefined;
289
+ onAnimationIteration?: import("react").AnimationEventHandler<HTMLAnchorElement> | undefined;
290
+ onAnimationIterationCapture?: import("react").AnimationEventHandler<HTMLAnchorElement> | undefined;
291
+ onTransitionEnd?: import("react").TransitionEventHandler<HTMLAnchorElement> | undefined;
292
+ onTransitionEndCapture?: import("react").TransitionEventHandler<HTMLAnchorElement> | undefined;
293
+ onTransitionCancel?: import("react").TransitionEventHandler<HTMLAnchorElement> | undefined;
294
+ onTransitionCancelCapture?: import("react").TransitionEventHandler<HTMLAnchorElement> | undefined;
295
+ onTransitionRun?: import("react").TransitionEventHandler<HTMLAnchorElement> | undefined;
296
+ onTransitionRunCapture?: import("react").TransitionEventHandler<HTMLAnchorElement> | undefined;
297
+ onTransitionStart?: import("react").TransitionEventHandler<HTMLAnchorElement> | undefined;
298
+ onTransitionStartCapture?: import("react").TransitionEventHandler<HTMLAnchorElement> | undefined;
299
+ key?: import("react").Key | null | undefined;
300
+ href: [AppPathnames] extends [never] ? string | import("url").UrlObject : keyof AppPathnames extends infer T ? T extends keyof AppPathnames ? T extends `${string}[[...${string}` ? T | ({
301
+ pathname: T;
302
+ params?: import("../shared/StrictParams").default<T> | undefined;
303
+ } & Omit<import("url").UrlObject, "pathname">) : T extends `${string}[${string}` ? {
304
+ pathname: T;
305
+ params: import("../shared/StrictParams").default<T>;
306
+ } & Omit<import("url").UrlObject, "pathname"> : T | ({
307
+ pathname: T;
308
+ } & Omit<import("url").UrlObject, "pathname">) : never : never;
309
+ }, "ref"> & import("react").RefAttributes<HTMLAnchorElement>>;
310
+ usePathname: () => [AppPathnames] extends [never] ? string : keyof AppPathnames;
311
+ useRouter: () => {
312
+ /** @see https://next-intl-docs.vercel.app/docs/routing/navigation#userouter */
313
+ push: (href: Parameters<(args: {
314
+ href: [AppPathnames] extends [never] ? string | {
315
+ pathname: string;
316
+ query?: import("../shared/utils").QueryParams;
317
+ } : keyof AppPathnames extends infer T_1 ? T_1 extends keyof AppPathnames ? T_1 extends `${string}[[...${string}` ? T_1 | ({
318
+ pathname: T_1;
319
+ params?: import("../shared/StrictParams").default<T_1> | undefined;
320
+ } & {
321
+ query?: import("../shared/utils").QueryParams;
322
+ }) : T_1 extends `${string}[${string}` ? {
323
+ pathname: T_1;
324
+ params: import("../shared/StrictParams").default<T_1>;
325
+ } & {
326
+ query?: import("../shared/utils").QueryParams;
327
+ } : T_1 | ({
328
+ pathname: T_1;
329
+ } & {
330
+ query?: import("../shared/utils").QueryParams;
331
+ }) : never : never;
332
+ locale: string;
333
+ } & (([AppPathnames] extends [never] ? RoutingConfigSharedNavigation<AppLocales, AppLocalePrefixMode, AppDomains> | undefined : RoutingConfigLocalizedNavigation<AppLocales, AppLocalePrefixMode, AppPathnames, AppDomains>) | undefined extends undefined ? {} : AppLocalePrefixMode extends "as-needed" ? [AppDomains] extends [never] ? {} : {
334
+ domain: AppDomains[number]["domain"];
335
+ } : {})) => string>[0]["href"], options?: (Partial<import("next/dist/shared/lib/app-router-context.shared-runtime").NavigateOptions> & {
336
+ locale?: string;
337
+ }) | undefined) => void;
338
+ /** @see https://next-intl-docs.vercel.app/docs/routing/navigation#userouter */
339
+ replace: (href: Parameters<(args: {
340
+ href: [AppPathnames] extends [never] ? string | {
341
+ pathname: string;
342
+ query?: import("../shared/utils").QueryParams;
343
+ } : keyof AppPathnames extends infer T_1 ? T_1 extends keyof AppPathnames ? T_1 extends `${string}[[...${string}` ? T_1 | ({
344
+ pathname: T_1;
345
+ params?: import("../shared/StrictParams").default<T_1> | undefined;
346
+ } & {
347
+ query?: import("../shared/utils").QueryParams;
348
+ }) : T_1 extends `${string}[${string}` ? {
349
+ pathname: T_1;
350
+ params: import("../shared/StrictParams").default<T_1>;
351
+ } & {
352
+ query?: import("../shared/utils").QueryParams;
353
+ } : T_1 | ({
354
+ pathname: T_1;
355
+ } & {
356
+ query?: import("../shared/utils").QueryParams;
357
+ }) : never : never;
358
+ locale: string;
359
+ } & (([AppPathnames] extends [never] ? RoutingConfigSharedNavigation<AppLocales, AppLocalePrefixMode, AppDomains> | undefined : RoutingConfigLocalizedNavigation<AppLocales, AppLocalePrefixMode, AppPathnames, AppDomains>) | undefined extends undefined ? {} : AppLocalePrefixMode extends "as-needed" ? [AppDomains] extends [never] ? {} : {
360
+ domain: AppDomains[number]["domain"];
361
+ } : {})) => string>[0]["href"], options?: (Partial<import("next/dist/shared/lib/app-router-context.shared-runtime").NavigateOptions> & {
362
+ locale?: string;
363
+ }) | undefined) => void;
364
+ /** @see https://next-intl-docs.vercel.app/docs/routing/navigation#userouter */
365
+ prefetch: (href: Parameters<(args: {
366
+ href: [AppPathnames] extends [never] ? string | {
367
+ pathname: string;
368
+ query?: import("../shared/utils").QueryParams;
369
+ } : keyof AppPathnames extends infer T_1 ? T_1 extends keyof AppPathnames ? T_1 extends `${string}[[...${string}` ? T_1 | ({
370
+ pathname: T_1;
371
+ params?: import("../shared/StrictParams").default<T_1> | undefined;
372
+ } & {
373
+ query?: import("../shared/utils").QueryParams;
374
+ }) : T_1 extends `${string}[${string}` ? {
375
+ pathname: T_1;
376
+ params: import("../shared/StrictParams").default<T_1>;
377
+ } & {
378
+ query?: import("../shared/utils").QueryParams;
379
+ } : T_1 | ({
380
+ pathname: T_1;
381
+ } & {
382
+ query?: import("../shared/utils").QueryParams;
383
+ }) : never : never;
384
+ locale: string;
385
+ } & (([AppPathnames] extends [never] ? RoutingConfigSharedNavigation<AppLocales, AppLocalePrefixMode, AppDomains> | undefined : RoutingConfigLocalizedNavigation<AppLocales, AppLocalePrefixMode, AppPathnames, AppDomains>) | undefined extends undefined ? {} : AppLocalePrefixMode extends "as-needed" ? [AppDomains] extends [never] ? {} : {
386
+ domain: AppDomains[number]["domain"];
387
+ } : {})) => string>[0]["href"], options?: (Partial<import("next/dist/shared/lib/app-router-context.shared-runtime").PrefetchOptions> & {
388
+ locale?: string;
389
+ }) | undefined) => void;
390
+ back(): void;
391
+ forward(): void;
392
+ refresh(): void;
393
+ };
394
+ getPathname: (args: {
395
+ href: [AppPathnames] extends [never] ? string | {
396
+ pathname: string;
397
+ query?: import("../shared/utils").QueryParams;
398
+ } : keyof AppPathnames extends infer T_1 ? T_1 extends keyof AppPathnames ? T_1 extends `${string}[[...${string}` ? T_1 | ({
399
+ pathname: T_1;
400
+ params?: import("../shared/StrictParams").default<T_1> | undefined;
401
+ } & {
402
+ query?: import("../shared/utils").QueryParams;
403
+ }) : T_1 extends `${string}[${string}` ? {
404
+ pathname: T_1;
405
+ params: import("../shared/StrictParams").default<T_1>;
406
+ } & {
407
+ query?: import("../shared/utils").QueryParams;
408
+ } : T_1 | ({
409
+ pathname: T_1;
410
+ } & {
411
+ query?: import("../shared/utils").QueryParams;
412
+ }) : never : never;
413
+ locale: string;
414
+ } & (([AppPathnames] extends [never] ? RoutingConfigSharedNavigation<AppLocales, AppLocalePrefixMode, AppDomains> | undefined : RoutingConfigLocalizedNavigation<AppLocales, AppLocalePrefixMode, AppPathnames, AppDomains>) | undefined extends undefined ? {} : AppLocalePrefixMode extends "as-needed" ? [AppDomains] extends [never] ? {} : {
415
+ domain: AppDomains[number]["domain"];
416
+ } : {})) => string;
417
+ redirect: (args: Omit<{
418
+ href: [AppPathnames] extends [never] ? string | {
419
+ pathname: string;
420
+ query?: import("../shared/utils").QueryParams;
421
+ } : keyof AppPathnames extends infer T_1 ? T_1 extends keyof AppPathnames ? T_1 extends `${string}[[...${string}` ? T_1 | ({
422
+ pathname: T_1;
423
+ params?: import("../shared/StrictParams").default<T_1> | undefined;
424
+ } & {
425
+ query?: import("../shared/utils").QueryParams;
426
+ }) : T_1 extends `${string}[${string}` ? {
427
+ pathname: T_1;
428
+ params: import("../shared/StrictParams").default<T_1>;
429
+ } & {
430
+ query?: import("../shared/utils").QueryParams;
431
+ } : T_1 | ({
432
+ pathname: T_1;
433
+ } & {
434
+ query?: import("../shared/utils").QueryParams;
435
+ }) : never : never;
436
+ locale: string;
437
+ } & (([AppPathnames] extends [never] ? RoutingConfigSharedNavigation<AppLocales, AppLocalePrefixMode, AppDomains> | undefined : RoutingConfigLocalizedNavigation<AppLocales, AppLocalePrefixMode, AppPathnames, AppDomains>) | undefined extends undefined ? {} : AppLocalePrefixMode extends "as-needed" ? [AppDomains] extends [never] ? {} : {
438
+ domain: AppDomains[number]["domain"];
439
+ } : {}), "domain"> & Partial<([AppPathnames] extends [never] ? RoutingConfigSharedNavigation<AppLocales, AppLocalePrefixMode, AppDomains> | undefined : RoutingConfigLocalizedNavigation<AppLocales, AppLocalePrefixMode, AppPathnames, AppDomains>) | undefined extends undefined ? {} : AppLocalePrefixMode extends "as-needed" ? [AppDomains] extends [never] ? {} : {
440
+ domain: AppDomains[number]["domain"];
441
+ } : {}>, type?: import("next/navigation").RedirectType | undefined) => never;
442
+ permanentRedirect: (args: Omit<{
443
+ href: [AppPathnames] extends [never] ? string | {
444
+ pathname: string;
445
+ query?: import("../shared/utils").QueryParams;
446
+ } : keyof AppPathnames extends infer T_1 ? T_1 extends keyof AppPathnames ? T_1 extends `${string}[[...${string}` ? T_1 | ({
447
+ pathname: T_1;
448
+ params?: import("../shared/StrictParams").default<T_1> | undefined;
449
+ } & {
450
+ query?: import("../shared/utils").QueryParams;
451
+ }) : T_1 extends `${string}[${string}` ? {
452
+ pathname: T_1;
453
+ params: import("../shared/StrictParams").default<T_1>;
454
+ } & {
455
+ query?: import("../shared/utils").QueryParams;
456
+ } : T_1 | ({
457
+ pathname: T_1;
458
+ } & {
459
+ query?: import("../shared/utils").QueryParams;
460
+ }) : never : never;
461
+ locale: string;
462
+ } & (([AppPathnames] extends [never] ? RoutingConfigSharedNavigation<AppLocales, AppLocalePrefixMode, AppDomains> | undefined : RoutingConfigLocalizedNavigation<AppLocales, AppLocalePrefixMode, AppPathnames, AppDomains>) | undefined extends undefined ? {} : AppLocalePrefixMode extends "as-needed" ? [AppDomains] extends [never] ? {} : {
463
+ domain: AppDomains[number]["domain"];
464
+ } : {}), "domain"> & Partial<([AppPathnames] extends [never] ? RoutingConfigSharedNavigation<AppLocales, AppLocalePrefixMode, AppDomains> | undefined : RoutingConfigLocalizedNavigation<AppLocales, AppLocalePrefixMode, AppPathnames, AppDomains>) | undefined extends undefined ? {} : AppLocalePrefixMode extends "as-needed" ? [AppDomains] extends [never] ? {} : {
465
+ domain: AppDomains[number]["domain"];
466
+ } : {}>, type?: import("next/navigation").RedirectType | undefined) => never;
467
+ };
@@ -1,7 +1,10 @@
1
1
  import React, { ReactElement } from 'react';
2
2
  import { RoutingConfigSharedNavigation } from '../../routing/config';
3
- import { Locales } from '../../routing/types';
4
- export default function createSharedPathnamesNavigation<const AppLocales extends Locales>(routing?: RoutingConfigSharedNavigation<AppLocales, never>): {
3
+ import { DomainsConfig, LocalePrefixMode, Locales } from '../../routing/types';
4
+ /**
5
+ * @deprecated Consider switching to `createNavigation` (see https://github.com/amannn/next-intl/pull/1316)
6
+ **/
7
+ export default function createSharedPathnamesNavigation<AppLocales extends Locales, AppLocalePrefixMode extends LocalePrefixMode, AppDomains extends DomainsConfig<AppLocales> = never>(routing?: RoutingConfigSharedNavigation<AppLocales, AppLocalePrefixMode, AppDomains>): {
5
8
  Link: (props: Omit<Omit<Omit<Omit<Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, keyof {
6
9
  href: string | import("url").UrlObject;
7
10
  as?: string | import("url").UrlObject;
@@ -33,13 +36,14 @@ export default function createSharedPathnamesNavigation<const AppLocales extends
33
36
  } & React.RefAttributes<HTMLAnchorElement>, "locale"> & {
34
37
  locale: string;
35
38
  prefix: string;
36
- localePrefixMode: import("../../routing/types").LocalePrefixMode;
39
+ localePrefixMode: LocalePrefixMode;
40
+ localeCookie: import("../../routing/config").InitializedLocaleCookieConfig;
37
41
  }, "ref"> & React.RefAttributes<HTMLAnchorElement>, "locale" | "prefix" | "localePrefixMode"> & {
38
42
  locale?: AppLocales[number] | undefined;
39
- localePrefix: import("../../routing/types").LocalePrefixConfigVerbose<AppLocales>;
43
+ localePrefix: import("../../routing/types").LocalePrefixConfigVerbose<AppLocales, AppLocalePrefixMode>;
40
44
  } & {
41
45
  ref?: React.LegacyRef<HTMLAnchorElement> | undefined;
42
- }, "localePrefix"> & {
46
+ }, "localePrefix" | "localeCookie"> & {
43
47
  ref?: React.LegacyRef<HTMLAnchorElement> | undefined;
44
48
  }) => ReactElement;
45
49
  redirect: (pathname: string, type?: import("next/navigation").RedirectType | undefined) => never;
@@ -1,5 +1,6 @@
1
1
  export { default as createSharedPathnamesNavigation } from './createSharedPathnamesNavigation';
2
2
  export { default as createLocalizedPathnamesNavigation } from './createLocalizedPathnamesNavigation';
3
+ export { default as createNavigation } from './createNavigation';
3
4
  import type { Pathnames as PathnamesDeprecatedExport, Locales } from '../../routing/types';
4
5
  /** @deprecated Please import from `next-intl/routing` instead. */
5
6
  export type Pathnames<AppLocales extends Locales> = PathnamesDeprecatedExport<AppLocales>;