import { DeployedEnvironment } from '@melonproject/melonjs'; import { GraphQLSchema } from 'graphql'; import { ApolloLink, Operation } from 'apollo-link'; import * as loaders from './loaders'; export * from './types'; export declare type Resolver = (parent: TParent, args: TArgs, context: Context) => any; export declare type ContextCreator = (request: Operation) => Promise | Context; export declare type Loaders = { [K in keyof typeof loaders]: ReturnType; }; export interface Context { environment: DeployedEnvironment; loaders: Loaders; block: number; } export declare const createSchema: (environment: DeployedEnvironment) => GraphQLSchema; export declare const createQueryContext: (environment: DeployedEnvironment) => ContextCreator; export interface SchemaLinkOptions { schema: GraphQLSchema; context: TContext; root?: TRoot; } export declare const createSchemaLink: (options: SchemaLinkOptions) => ApolloLink;