diff --git a/lib/modules/manager/helmv3/extract.spec.ts b/lib/modules/manager/helmv3/extract.spec.ts
index cc9d2d2025ad1f82326f492a9488260a976eec25..eb0d0041778c896355b17b739592c33711c4cfdd 100644
--- a/lib/modules/manager/helmv3/extract.spec.ts
+++ b/lib/modules/manager/helmv3/extract.spec.ts
@@ -1,8 +1,14 @@
-import { fs } from '../../../../test/util';
+import { fs, partial } from '../../../../test/util';
 import { DockerDatasource } from '../../datasource/docker';
+import type { ExtractConfig } from '../types';
 import { extractPackageFile } from '.';
 
 jest.mock('../../../util/fs');
+const config = partial<ExtractConfig>({
+  registryAliases: {
+    stable: 'https://charts.helm.sh/stable',
+  },
+});
 
 describe('modules/manager/helmv3/extract', () => {
   describe('extractPackageFile()', () => {
@@ -29,11 +35,7 @@ describe('modules/manager/helmv3/extract', () => {
           version: 0.8.1
       `;
       const fileName = 'Chart.yaml';
-      const result = await extractPackageFile(content, fileName, {
-        registryAliases: {
-          stable: 'https://charts.helm.sh/stable',
-        },
-      });
+      const result = await extractPackageFile(content, fileName, config);
       expect(result).not.toBeNull();
       expect(result).toMatchSnapshot();
       expect(result?.deps.every((dep) => dep.skipReason)).toBe(true);
@@ -57,11 +59,7 @@ describe('modules/manager/helmv3/extract', () => {
           condition: postgresql.enabled
       `;
       const fileName = 'Chart.yaml';
-      const result = await extractPackageFile(content, fileName, {
-        registryAliases: {
-          stable: 'https://charts.helm.sh/stable',
-        },
-      });
+      const result = await extractPackageFile(content, fileName, config);
       expect(result).toMatchSnapshot({
         deps: [
           { depName: 'redis', currentValue: '0.9.0' },
@@ -90,11 +88,7 @@ describe('modules/manager/helmv3/extract', () => {
         condition: postgresql.enabled
       `;
       const fileName = 'Chart.yaml';
-      const result = await extractPackageFile(content, fileName, {
-        registryAliases: {
-          stable: 'https://charts.helm.sh/stable',
-        },
-      });
+      const result = await extractPackageFile(content, fileName, config);
       expect(result).toMatchSnapshot({
         deps: [
           {
@@ -145,11 +139,7 @@ describe('modules/manager/helmv3/extract', () => {
       [
       `;
       const fileName = 'Chart.yaml';
-      const result = await extractPackageFile(content, fileName, {
-        registryAliases: {
-          stable: 'https://charts.helm.sh/stable',
-        },
-      });
+      const result = await extractPackageFile(content, fileName, config);
       expect(result).toBeNull();
     });
 
@@ -169,11 +159,7 @@ describe('modules/manager/helmv3/extract', () => {
           repository: file:///some/local/path/
       `;
       const fileName = 'Chart.yaml';
-      const result = await extractPackageFile(content, fileName, {
-        registryAliases: {
-          stable: 'https://charts.helm.sh/stable',
-        },
-      });
+      const result = await extractPackageFile(content, fileName, config);
       expect(result).toMatchSnapshot({
         deps: [
           { depName: 'redis' },
@@ -194,11 +180,7 @@ describe('modules/manager/helmv3/extract', () => {
       hello: world
       `;
       const fileName = 'Chart.yaml';
-      const result = await extractPackageFile(content, fileName, {
-        registryAliases: {
-          stable: 'https://charts.helm.sh/stable',
-        },
-      });
+      const result = await extractPackageFile(content, fileName, config);
       expect(result).toBeNull();
     });
 
@@ -214,11 +196,7 @@ describe('modules/manager/helmv3/extract', () => {
       dependencies: []
       `;
       const fileName = 'Chart.yaml';
-      const result = await extractPackageFile(content, fileName, {
-        registryAliases: {
-          stable: 'https://charts.helm.sh/stable',
-        },
-      });
+      const result = await extractPackageFile(content, fileName, config);
       expect(result).toBeNull();
     });
 
@@ -234,22 +212,14 @@ describe('modules/manager/helmv3/extract', () => {
         [
       `;
       const fileName = 'Chart.yaml';
-      const result = await extractPackageFile(content, fileName, {
-        registryAliases: {
-          stable: 'https://charts.helm.sh/stable',
-        },
-      });
+      const result = await extractPackageFile(content, fileName, config);
       expect(result).toBeNull();
     });
 
     it('returns null if Chart.yaml is empty', async () => {
       const content = '';
       const fileName = 'Chart.yaml';
-      const result = await extractPackageFile(content, fileName, {
-        registryAliases: {
-          stable: 'https://charts.helm.sh/stable',
-        },
-      });
+      const result = await extractPackageFile(content, fileName, config);
       expect(result).toBeNull();
     });
 
@@ -262,11 +232,7 @@ describe('modules/manager/helmv3/extract', () => {
       version: 0.1.0
       `;
       const fileName = 'Chart.yaml';
-      const result = await extractPackageFile(content, fileName, {
-        registryAliases: {
-          stable: 'https://charts.helm.sh/stable',
-        },
-      });
+      const result = await extractPackageFile(content, fileName, config);
       expect(result).toBeNull();
     });
 
@@ -283,11 +249,7 @@ describe('modules/manager/helmv3/extract', () => {
           alias: "test"
       `;
       const fileName = 'Chart.yaml';
-      const result = await extractPackageFile(content, fileName, {
-        registryAliases: {
-          stable: 'https://charts.helm.sh/stable',
-        },
-      });
+      const result = await extractPackageFile(content, fileName, config);
       expect(result).toBeNull();
     });
   });
diff --git a/lib/modules/manager/regex/index.ts b/lib/modules/manager/regex/index.ts
index 6a316d9b17fb93371972412da280613bf6da1c81..ac4c5323c75b8ab650d082ac94859e8f7c879286 100644
--- a/lib/modules/manager/regex/index.ts
+++ b/lib/modules/manager/regex/index.ts
@@ -1,36 +1,44 @@
 import is from '@sindresorhus/is';
 import type { RegexManagerTemplates } from '../../../config/types';
 import type {
-  CustomExtractConfig,
+  ExtractConfig,
   PackageDependency,
   PackageFile,
   Result,
 } from '../types';
 import { handleAny, handleCombination, handleRecursive } from './strategies';
+import type { RegexManagerConfig } from './types';
 import { validMatchFields } from './utils';
 
 export const defaultConfig = {
   pinDigests: false,
 };
-
 export const supportedDatasources = ['*'];
 
 export function extractPackageFile(
   content: string,
   packageFile: string,
-  config: CustomExtractConfig
+  config: ExtractConfig
 ): Result<PackageFile | null> {
   let deps: PackageDependency[];
   switch (config.matchStringsStrategy) {
     default:
     case 'any':
-      deps = handleAny(content, packageFile, config);
+      deps = handleAny(content, packageFile, config as RegexManagerConfig);
       break;
     case 'combination':
-      deps = handleCombination(content, packageFile, config);
+      deps = handleCombination(
+        content,
+        packageFile,
+        config as RegexManagerConfig
+      );
       break;
     case 'recursive':
-      deps = handleRecursive(content, packageFile, config);
+      deps = handleRecursive(
+        content,
+        packageFile,
+        config as RegexManagerConfig
+      );
       break;
   }
 
diff --git a/lib/modules/manager/regex/strategies.ts b/lib/modules/manager/regex/strategies.ts
index 22d06d5415f16bf845049d1543839b3c72b5a434..d64f151c0399d6fa0bb937fa0d09f05eb7fd8241 100644
--- a/lib/modules/manager/regex/strategies.ts
+++ b/lib/modules/manager/regex/strategies.ts
@@ -1,7 +1,7 @@
 import is from '@sindresorhus/is';
 import { regEx } from '../../../util/regex';
-import type { CustomExtractConfig, PackageDependency } from '../types';
-import type { RecursionParameter } from './types';
+import type { PackageDependency } from '../types';
+import type { RecursionParameter, RegexManagerConfig } from './types';
 import {
   createDependency,
   isValidDependency,
@@ -13,7 +13,7 @@ import {
 export function handleAny(
   content: string,
   packageFile: string,
-  config: CustomExtractConfig
+  config: RegexManagerConfig
 ): PackageDependency[] {
   return config.matchStrings
     .map((matchString) => regEx(matchString, 'g'))
@@ -31,7 +31,7 @@ export function handleAny(
 export function handleCombination(
   content: string,
   packageFile: string,
-  config: CustomExtractConfig
+  config: RegexManagerConfig
 ): PackageDependency[] {
   const matches = config.matchStrings
     .map((matchString) => regEx(matchString, 'g'))
@@ -55,7 +55,7 @@ export function handleCombination(
 export function handleRecursive(
   content: string,
   packageFile: string,
-  config: CustomExtractConfig
+  config: RegexManagerConfig
 ): PackageDependency[] {
   const regexes = config.matchStrings.map((matchString) =>
     regEx(matchString, 'g')
diff --git a/lib/modules/manager/regex/types.ts b/lib/modules/manager/regex/types.ts
index f0840a4e8608080f4806ae8e904639a02222b7d5..aaf0f8c4dd6f022f561b6d65c4d097c5a2673bd7 100644
--- a/lib/modules/manager/regex/types.ts
+++ b/lib/modules/manager/regex/types.ts
@@ -13,3 +13,7 @@ export interface RecursionParameter {
   index: number;
   combinedGroups: Record<string, string>;
 }
+
+export interface RegexManagerConfig extends CustomExtractConfig {
+  matchStrings: string[];
+}
diff --git a/lib/modules/manager/types.ts b/lib/modules/manager/types.ts
index 45797482dda734f044f2c79e6d7bc195ab30556b..97db4c823f255555e9e482fc1d480e35503e9418 100644
--- a/lib/modules/manager/types.ts
+++ b/lib/modules/manager/types.ts
@@ -15,18 +15,16 @@ export interface ManagerData<T> {
   managerData?: T;
 }
 
-export interface ExtractConfig {
+export interface ExtractConfig extends CustomExtractConfig {
   registryAliases?: Record<string, string>;
   npmrc?: string;
   npmrcMerge?: boolean;
   skipInstalls?: boolean;
 }
 
-export interface CustomExtractConfig
-  extends ExtractConfig,
-    RegexManagerTemplates {
+export interface CustomExtractConfig extends RegexManagerTemplates {
   autoReplaceStringTemplate?: string;
-  matchStrings: string[];
+  matchStrings?: string[];
   matchStringsStrategy?: MatchStringsStrategy;
 }
 
diff --git a/lib/workers/types.ts b/lib/workers/types.ts
index 87f3cc36b9c7c8f8dfeab9b6c866504849bfa02c..32c036afeff4633a7b879d20b315e64df49c9118 100644
--- a/lib/workers/types.ts
+++ b/lib/workers/types.ts
@@ -10,7 +10,6 @@ import type {
 import type { Release } from '../modules/datasource/types';
 import type {
   ArtifactError,
-  CustomExtractConfig,
   ExtractConfig,
   LookupUpdate,
   PackageDependency,
@@ -129,9 +128,7 @@ export interface BranchConfig
   isConflicted?: boolean;
 }
 
-export interface WorkerExtractConfig
-  extends ExtractConfig,
-    Partial<CustomExtractConfig> {
+export interface WorkerExtractConfig extends ExtractConfig {
   manager: string;
   fileList: string[];
   fileMatch?: string[];