diff --git a/src/api.ts b/src/api.ts
index e59ff1710d187dcd5ec0c44806ca604557cb0982..1e622d3725603bdceaf834a0a27c95d90f81b67b 100644
--- a/src/api.ts
+++ b/src/api.ts
@@ -14,10 +14,20 @@ export function isAPIError(reason: any): reason is APIError {
 	return reason[MK_API_ERROR] === true;
 }
 
+export type FetchLike = (input: string, init?: {
+		method?: string;
+		body?: string;
+		credentials?: RequestCredentials;
+		cache?: RequestCache;
+	}) => Promise<{
+		status: number;
+		json(): Promise<any>;
+	}>;
+
 export class APIClient {
 	public origin: string;
 	public credential: string | null | undefined;
-	public fetch: (typeof fetch);
+	public fetch: FetchLike;
 
 	constructor(opts: {
 		origin: APIClient['origin'];