/** Get the Params type for a given Shape */ export type EndpointParam = E extends (first: infer A, ...rest: any) => any ? A : E extends { key: (first: infer A, ...rest: any) => any; } ? A : never; /** What the function's promise resolves to */ export type ResolveType any> = ReturnType extends Promise ? R : never; export type PartialArray = A extends [ ] ? [ ] : A extends [ infer F ] ? [ F ] | [ ] : A extends [ infer F, ...infer Rest ] ? [ F ] | [ F, ...PartialArray ] : A extends (infer T)[] ? T[] : never; export type PartialParameters any> = T extends (...args: infer P) => any ? Partial

: never; export type EndpointToFunction Promise> = (this: E, ...args: Parameters) => ReturnType; //# sourceMappingURL=utility.d.ts.map