type StripAllArgs = T extends object ? keyof T extends "__args" ? T : { [K in keyof T as K extends "__args" ? never : K]: StripAllArgs; } : T; type GraphQLExact = { [K in keyof T]: K extends keyof Shape ? T[K] extends { __args: any; } ? T[K] : T[K] extends object ? Shape[K] extends object | undefined ? GraphQLExact> : never : T[K] : never; }; export type { GraphQLExact, StripAllArgs };