import { IResolvers, IFieldResolver } from 'graphql-tools-fork'; export declare type ResolversComposition = IFieldResolver> = (next: Resolver) => Resolver; export declare type ResolversComposerMapping = { [TypeName in keyof Resolvers]?: { [FieldName in keyof Resolvers[TypeName]]: Resolvers[TypeName][FieldName] extends IFieldResolver ? 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;