import { GraphQLSchema, ExecutionResult } from 'graphql'; import { PubSub } from 'graphql-subscriptions'; import { IConnection, IConnectionManager, ISubscriptionManager, OperationRequest } from './types'; declare type Options = { connection: IConnection; connectionManager: IConnectionManager; context?: any | (() => any | Promise); operation: OperationRequest; pubSub: PubSub; /** * This is internal param used to indicate if we should register subscriptions to storage * Basically this is used by WebSocket handler to manage subscriptions * But in case of event processor this is always false, because we don't want to register * new subscriptions in event processor */ registerSubscriptions?: boolean; rootValue?: any; schema: GraphQLSchema; subscriptionManager: ISubscriptionManager; /** * This is internal param used to indicate if we should use graphql.subscribe or graphql.execute methods * Basically for HTTP this is always false, for WS/event processor this is always true */ useSubscriptions?: boolean; }; /** * Execute methods executes graphql operations * * In case of mutation/query it returns ExecutionResult * In case of subscriptions it returns AsyncIterator of ExecutionResults (only if useSubscriptions is true) * * @param param0 */ declare function execute({ connection, connectionManager, context, operation, pubSub, rootValue, schema, subscriptionManager, registerSubscriptions, useSubscriptions, }: Options): Promise>; export { execute }; export default execute;