import { ObjMap } from './utils.js'; export interface ExecutionArgs { schema: any; document: any; rootValue?: any; contextValue?: any; variableValues?: any; operationName?: any; fieldResolver?: any; typeResolver?: any; subscribeFieldResolver?: any; } declare function parse(source: any, options?: any): any; declare function execute(args: ExecutionArgs): any; declare function subscribe(args: ExecutionArgs): any; declare function validate(schema: any, documentAST: any, rules?: any, options?: any, typeInfo?: any): any; export type ExecuteFunction = typeof execute; export type SubscribeFunction = typeof subscribe; export type ParseFunction = typeof parse; export type ValidateFunction = typeof validate; export type ValidateFunctionParameter = { /** * GraphQL schema instance. */ schema: Parameters[0]; /** * Parsed document node. */ documentAST: Parameters[1]; /** * The rules used for validation. * validate uses specifiedRules as exported by the GraphQL module if this parameter is undefined. */ rules?: Parameters[2]; /** * TypeInfo instance which is used for getting schema information during validation */ typeInfo?: Parameters[3]; options?: Parameters[4]; }; /** @private */ export type PolymorphicExecuteArguments = [ExecutionArgs] | [ ExecutionArgs['schema'], ExecutionArgs['document'], ExecutionArgs['rootValue'], ExecutionArgs['contextValue'], ExecutionArgs['variableValues'], ExecutionArgs['operationName'], ExecutionArgs['fieldResolver'], ExecutionArgs['typeResolver'] ]; /** @private */ export type PolymorphicSubscribeArguments = PolymorphicExecuteArguments; export type Path = { readonly prev: Path | undefined; readonly key: string | number; readonly typename: string | undefined; }; export interface ExecutionResult, TExtensions = ObjMap> { errors?: ReadonlyArray; data?: TData | null; extensions?: TExtensions; } export interface IncrementalDeferResult, TExtensions = Record> extends ExecutionResult { path?: ReadonlyArray; label?: string; } export interface IncrementalStreamResult, TExtensions = Record> { errors?: ReadonlyArray; items?: TData | null; path?: ReadonlyArray; label?: string; extensions?: TExtensions; } export type IncrementalResult, TExtensions = Record> = IncrementalDeferResult | IncrementalStreamResult; export interface IncrementalExecutionResult, TExtensions = Record> extends ExecutionResult { hasNext: boolean; incremental?: ReadonlyArray>; extensions?: TExtensions; } export {};