diff --git a/lib/config/presets/common.ts b/lib/config/presets/common.ts
index 72ea53ca7134945f4f3fe96525baf774a674edbd..b002bd4b649149a4ad5ff87bec12f32f2d803d37 100644
--- a/lib/config/presets/common.ts
+++ b/lib/config/presets/common.ts
@@ -1,2 +1,12 @@
+import { RenovateConfig } from '../common';
+
 // TODO: Proper typing
-export type Preset = any;
+export type Preset = RenovateConfig & Record<string, unknown>;
+
+export interface PresetApi {
+  getPreset(
+    pkgName: string,
+    presetName?: string,
+    baseConfig?: RenovateConfig
+  ): Promise<Preset>;
+}
diff --git a/lib/config/presets/github.ts b/lib/config/presets/github.ts
index 8dc79fbb59707d7fe48ff76c09e98ec8f36f11e2..d92a358b862fd195638c2ef994f73ed3ccc888a3 100644
--- a/lib/config/presets/github.ts
+++ b/lib/config/presets/github.ts
@@ -29,7 +29,7 @@ async function fetchJSONFile(
       throw err;
     }
     logger.debug(
-      { statusCode: err.statusCodef },
+      { statusCode: err.statusCode },
       `Failed to retrieve ${fileName} from repo`
     );
     throw new Error('dep not found');
diff --git a/lib/config/presets/index.ts b/lib/config/presets/index.ts
index a84f527ac85301e7958e185227c23402358209a8..a66f3a146b381d6f69b562fb03d3e0f64b57b066 100644
--- a/lib/config/presets/index.ts
+++ b/lib/config/presets/index.ts
@@ -14,8 +14,9 @@ import {
   DATASOURCE_FAILURE,
   PLATFORM_FAILURE,
 } from '../../constants/error-messages';
+import { PresetApi } from './common';
 
-const presetSources = {
+const presetSources: Record<string, PresetApi> = {
   github,
   npm,
   gitlab,