import { Build, Plugin, Options } from "@dwwoelfel/graphile-build"; import { GraphQLIsTypeOfFn, GraphQLTypeResolver, GraphQLResolveInfo, DocumentNode } from "graphql"; import { GraphileHelpers } from "./fieldHelpers"; export declare type AugmentedGraphQLFieldResolver = (parent: TSource, args: TArgs, context: TContext, info: GraphQLResolveInfo & { graphile: GraphileHelpers; }, useInfoDotGraphileInstead: GraphileHelpers) => any; export interface ObjectFieldResolver { resolve?: AugmentedGraphQLFieldResolver; subscribe?: AugmentedGraphQLFieldResolver; __resolveType?: GraphQLTypeResolver; __isTypeOf?: GraphQLIsTypeOfFn; } export interface ObjectResolver { [key: string]: AugmentedGraphQLFieldResolver | ObjectFieldResolver; } export interface EnumResolver { [key: string]: string | number | Array | object | symbol; } export interface Resolvers { [key: string]: ObjectResolver | EnumResolver; } export interface ExtensionDefinition { typeDefs: DocumentNode; resolvers: Resolvers; } export default function makeExtendSchemaPlugin(generator: ExtensionDefinition | ((build: Build, schemaOptions: Options) => ExtensionDefinition), uniqueId?: string): Plugin;