diff --git a/.changeset/full-times-wear.md b/.changeset/full-times-wear.md
new file mode 100644
index 00000000000..545d1cf936a
--- /dev/null
+++ b/.changeset/full-times-wear.md
@@ -0,0 +1,5 @@
+---
+'@clerk/types': patch
+---
+
+Convert LocalizationResource to interface for typedoc documentation
diff --git a/.typedoc/custom-plugin.mjs b/.typedoc/custom-plugin.mjs
index fe39d5027fc..ee584a16964 100644
--- a/.typedoc/custom-plugin.mjs
+++ b/.typedoc/custom-plugin.mjs
@@ -53,6 +53,8 @@ const LINK_REPLACEMENTS = [
['saml-account', '/docs/references/backend/types/backend-saml-account'],
['web3-wallet', '/docs/references/backend/types/backend-web3-wallet'],
['verify-token-options', '#verify-token-options'],
+ ['localization-resource', '/docs/customization/localization'],
+ ['commerce-subscription-item-resource', '/docs/references/javascript/types/commerce-subscription-item-resource'],
];
/**
@@ -85,10 +87,6 @@ function getCatchAllReplacements() {
pattern: /\(setActiveParams\)/g,
replace: '([setActiveParams](/docs/references/javascript/types/set-active-params))',
},
- {
- pattern: /`_LocalizationResource`/g,
- replace: '[Localization](/docs/customization/localization)',
- },
{
pattern: /`LoadedClerk`/g,
replace: '[Clerk](/docs/references/javascript/clerk)',
diff --git a/packages/types/src/clerk.ts b/packages/types/src/clerk.ts
index bb5ab633869..c8aa7d1876b 100644
--- a/packages/types/src/clerk.ts
+++ b/packages/types/src/clerk.ts
@@ -653,31 +653,31 @@ export interface Clerk {
buildUrlWithAuth(to: string): string;
/**
- * Returns the configured url where is mounted or a custom sign-in page is rendered.
+ * Returns the configured url where `` is mounted or a custom sign-in page is rendered.
*
* @param opts A {@link RedirectOptions} object
*/
buildSignInUrl(opts?: RedirectOptions): string;
/**
- * Returns the configured url where is mounted or a custom sign-up page is rendered.
+ * Returns the configured url where `` is mounted or a custom sign-up page is rendered.
*
* @param opts A {@link RedirectOptions} object
*/
buildSignUpUrl(opts?: RedirectOptions): string;
/**
- * Returns the url where is mounted or a custom user-profile page is rendered.
+ * Returns the url where `` is mounted or a custom user-profile page is rendered.
*/
buildUserProfileUrl(): string;
/**
- * Returns the configured url where is mounted or a custom create-organization page is rendered.
+ * Returns the configured url where `` is mounted or a custom create-organization page is rendered.
*/
buildCreateOrganizationUrl(): string;
/**
- * Returns the configured url where is mounted or a custom organization-profile page is rendered.
+ * Returns the configured url where `` is mounted or a custom organization-profile page is rendered.
*/
buildOrganizationProfileUrl(): string;
@@ -707,7 +707,7 @@ export interface Clerk {
buildAfterMultiSessionSingleSignOutUrl(): string;
/**
- * Returns the configured url where is mounted or a custom waitlist page is rendered.
+ * Returns the configured url where `` is mounted or a custom waitlist page is rendered.
*/
buildWaitlistUrl(opts?: { initialValues?: Record }): string;
@@ -720,31 +720,31 @@ export interface Clerk {
redirectWithAuth(to: string): Promise;
/**
- * Redirects to the configured URL where is mounted.
+ * Redirects to the configured URL where `` is mounted.
*
* @param opts A {@link RedirectOptions} object
*/
redirectToSignIn(opts?: SignInRedirectOptions): Promise;
/**
- * Redirects to the configured URL where is mounted.
+ * Redirects to the configured URL where `` is mounted.
*
* @param opts A {@link RedirectOptions} object
*/
redirectToSignUp(opts?: SignUpRedirectOptions): Promise;
/**
- * Redirects to the configured URL where is mounted.
+ * Redirects to the configured URL where `` is mounted.
*/
redirectToUserProfile: () => Promise;
/**
- * Redirects to the configured URL where is mounted.
+ * Redirects to the configured URL where `` is mounted.
*/
redirectToOrganizationProfile: () => Promise;
/**
- * Redirects to the configured URL where is mounted.
+ * Redirects to the configured URL where `` is mounted.
*/
redirectToCreateOrganization: () => Promise;
@@ -764,7 +764,7 @@ export interface Clerk {
redirectToAfterSignOut: () => void;
/**
- * Redirects to the configured URL where is mounted.
+ * Redirects to the configured URL where `` is mounted.
*/
redirectToWaitlist: () => void;
diff --git a/packages/types/src/localization.ts b/packages/types/src/localization.ts
index 580f02a427f..1d468e80524 100644
--- a/packages/types/src/localization.ts
+++ b/packages/types/src/localization.ts
@@ -60,7 +60,9 @@ type DeepLocalizationWithoutObjects = {
* the default english resource object from {@link https://github.com/clerk/javascript Clerk's open source repo}
* as a starting point.
*/
-export type LocalizationResource = DeepPartial>;
+// eslint-disable-next-line @typescript-eslint/no-empty-object-type -- Needs to be an interface for typedoc to link correctly
+export interface LocalizationResource
+ extends DeepPartial> {}
export type __internal_LocalizationResource = {
locale: string;