import { DocumentNode, GraphQLResolveInfo } from 'graphql'; import { ExecutionResult } from './Interfaces'; export interface ExecutionParams, TContext = any> { document: DocumentNode; variables?: TArgs; extensions?: Record; context?: TContext; info?: GraphQLResolveInfo; } export declare type AsyncExecutor> = , TArgs = Record, TContext = TBaseContext>(params: ExecutionParams) => Promise>; export declare type SyncExecutor> = , TArgs = Record, TContext = TBaseContext>(params: ExecutionParams) => ExecutionResult; export declare type Executor> = , TArgs = Record, TContext = TBaseContext>(params: ExecutionParams) => ExecutionResult | Promise>; export declare type Subscriber> = , TArgs = Record, TContext = TBaseContext>(params: ExecutionParams) => Promise> | ExecutionResult>;