import { GraphQLFieldResolver } from 'graphql'; export type ResolversComposition = GraphQLFieldResolver> = (next: Resolver) => Resolver; export type ResolversComposerMapping = Record> = { [TypeName in keyof Resolvers]?: { [FieldName in keyof Resolvers[TypeName]]: Resolvers[TypeName][FieldName] extends GraphQLFieldResolver ? ResolversComposition | Array> : ResolversComposition | ResolversComposition[]; }; } | { [path: string]: ResolversComposition | ResolversComposition[]; }; /** * Wraps the resolvers object with the resolvers composition objects. * Implemented as a simple and basic middleware mechanism. * * @param resolvers - resolvers object * @param mapping - resolvers composition mapping * @hidden */ export declare function composeResolvers>(resolvers: Resolvers, mapping?: ResolversComposerMapping): Resolvers;