import { SuccessResponse } from "./responses"; type DeepRecord = K extends `${infer K0}.${infer KR}` ? { [P in K0]: DeepRecord; } : { [P in K]: V; }; type DeepIntersect = [T] extends [(...args: unknown[]) => unknown] ? T : T extends object ? { [K in keyof T]: DeepIntersect; } : T; /** * An internal helper type that this package uses to convert a simple typed description of * the entire API surface to something that can be used to typecheck a series of different classes containing * simple, readable methods * * @public */ export type ConvertApiDescription> = DeepIntersect<{ [K in string & keyof T]: (x: DeepRecord Promise["rsp"]>>) => void; } extends Record void> ? I : never>; export {};