import * as core from '@graphql-inspector/core'; export declare type Maybe = T | null; export declare enum CriticalityLevel { Breaking = "BREAKING", NonBreaking = "NON_BREAKING", Dangerous = "DANGEROUS" } export interface Query { readonly ping: string; readonly coverage: SchemaCoverage; readonly diff?: Maybe>; readonly validate?: Maybe>; readonly similar?: Maybe>; readonly similarTo: Similar; } export interface SchemaCoverage { readonly sources?: Maybe>; readonly types?: Maybe>; } export interface DocumentSource { readonly body: string; readonly name: string; } export interface TypeCoverage { readonly name: string; readonly hits: number; readonly children?: Maybe>; } export interface TypeChildCoverage { readonly name: string; readonly hits: number; readonly locations?: Maybe>; } export interface DocumentLocation { readonly name: string; readonly locations?: Maybe>; } export interface Location { readonly start: number; readonly end: number; } export interface Change { readonly message: string; readonly path?: Maybe; readonly type: string; readonly criticality: Criticality; } export interface Criticality { readonly level: CriticalityLevel; readonly reason?: Maybe; } export interface InvalidDocument { readonly source: DocumentSource; readonly errors?: Maybe>; } export interface GraphQlError { /** A message describing the Error for debugging purposes. */ readonly message: string; /** An array of { line, column } locations within the source GraphQL document which correspond to this error. Errors during validation often contain multiple locations, for example to point out two things with the same name. Errors during execution include a single location, the field which produced the error. */ readonly locations?: Maybe>; /** An array of character offsets within the source GraphQL document which correspond to this error. */ readonly positions?: Maybe>>; } export interface SourceLocation { readonly line: number; readonly column: number; } export interface Similar { readonly name: string; readonly best: Match; readonly types?: Maybe>; } export interface Match { readonly name: string; readonly rating: number; } export interface Mutation { readonly ping: string; } export interface CoverageQueryArgs { schema: string; documents: string; } export interface DiffQueryArgs { oldSchema: string; newSchema: string; } export interface ValidateQueryArgs { schema: string; documents: string; } export interface SimilarQueryArgs { schema: string; threshold?: Maybe; } export interface SimilarToQueryArgs { schema: string; name: string; threshold?: Maybe; } import { GraphQLResolveInfo } from 'graphql'; import { ResolvedTypeCoverage, ResolvedTypeChildCoverage, ResolvedDocumentLocation, ResolvedSimilar } from '../types'; export declare type Resolver = (parent: Parent, args: Args, context: TContext, info: GraphQLResolveInfo) => Promise | Result; export interface ISubscriptionResolverObject { subscribe(parent: P, args: Args, context: TContext, info: GraphQLResolveInfo): AsyncIterator | Promise>; resolve?(parent: P, args: Args, context: TContext, info: GraphQLResolveInfo): R | Result | Promise; } export declare type SubscriptionResolver = ((...args: any[]) => ISubscriptionResolverObject) | ISubscriptionResolverObject; export declare type TypeResolveFn = (parent: Parent, context: TContext, info: GraphQLResolveInfo) => Maybe; export declare type NextResolverFn = () => Promise; export declare type DirectiveResolverFn = (next: NextResolverFn, source: any, args: TArgs, context: TContext, info: GraphQLResolveInfo) => TResult | Promise; export declare namespace QueryResolvers { interface Resolvers { ping?: PingResolver; coverage?: CoverageResolver; diff?: DiffResolver>, TypeParent, TContext>; validate?: ValidateResolver>, TypeParent, TContext>; similar?: SimilarResolver>, TypeParent, TContext>; similarTo?: SimilarToResolver; } type PingResolver = Resolver; type CoverageResolver = Resolver; interface CoverageArgs { schema: string; documents: string; } type DiffResolver>, Parent = {}, TContext = {}> = Resolver; interface DiffArgs { oldSchema: string; newSchema: string; } type ValidateResolver>, Parent = {}, TContext = {}> = Resolver; interface ValidateArgs { schema: string; documents: string; } type SimilarResolver>, Parent = {}, TContext = {}> = Resolver; interface SimilarArgs { schema: string; threshold?: Maybe; } type SimilarToResolver = Resolver; interface SimilarToArgs { schema: string; name: string; threshold?: Maybe; } } export declare namespace SchemaCoverageResolvers { interface Resolvers { sources?: SourcesResolver>, TypeParent, TContext>; types?: TypesResolver>, TypeParent, TContext>; } type SourcesResolver>, Parent = core.SchemaCoverage, TContext = {}> = Resolver; type TypesResolver>, Parent = core.SchemaCoverage, TContext = {}> = Resolver; } export declare namespace DocumentSourceResolvers { interface Resolvers { body?: BodyResolver; name?: NameResolver; } type BodyResolver = Resolver; type NameResolver = Resolver; } export declare namespace TypeCoverageResolvers { interface Resolvers { name?: NameResolver; hits?: HitsResolver; children?: ChildrenResolver>, TypeParent, TContext>; } type NameResolver = Resolver; type HitsResolver = Resolver; type ChildrenResolver>, Parent = ResolvedTypeCoverage, TContext = {}> = Resolver; } export declare namespace TypeChildCoverageResolvers { interface Resolvers { name?: NameResolver; hits?: HitsResolver; locations?: LocationsResolver>, TypeParent, TContext>; } type NameResolver = Resolver; type HitsResolver = Resolver; type LocationsResolver>, Parent = ResolvedTypeChildCoverage, TContext = {}> = Resolver; } export declare namespace DocumentLocationResolvers { interface Resolvers { name?: NameResolver; locations?: LocationsResolver>, TypeParent, TContext>; } type NameResolver = Resolver; type LocationsResolver>, Parent = ResolvedDocumentLocation, TContext = {}> = Resolver; } export declare namespace LocationResolvers { interface Resolvers { start?: StartResolver; end?: EndResolver; } type StartResolver = Resolver; type EndResolver = Resolver; } export declare namespace ChangeResolvers { interface Resolvers { message?: MessageResolver; path?: PathResolver, TypeParent, TContext>; type?: TypeResolver; criticality?: CriticalityResolver; } type MessageResolver = Resolver; type PathResolver, Parent = Change, TContext = {}> = Resolver; type TypeResolver = Resolver; type CriticalityResolver = Resolver; } export declare namespace CriticalityResolvers { interface Resolvers { level?: LevelResolver; reason?: ReasonResolver, TypeParent, TContext>; } type LevelResolver = Resolver; type ReasonResolver, Parent = Criticality, TContext = {}> = Resolver; } export declare namespace InvalidDocumentResolvers { interface Resolvers { source?: SourceResolver; errors?: ErrorsResolver>, TypeParent, TContext>; } type SourceResolver = Resolver; type ErrorsResolver>, Parent = InvalidDocument, TContext = {}> = Resolver; } export declare namespace GraphQlErrorResolvers { interface Resolvers { /** A message describing the Error for debugging purposes. */ message?: MessageResolver; /** An array of { line, column } locations within the source GraphQL document which correspond to this error. Errors during validation often contain multiple locations, for example to point out two things with the same name. Errors during execution include a single location, the field which produced the error. */ locations?: LocationsResolver>, TypeParent, TContext>; /** An array of character offsets within the source GraphQL document which correspond to this error. */ positions?: PositionsResolver>>, TypeParent, TContext>; } type MessageResolver = Resolver; type LocationsResolver>, Parent = GraphQlError, TContext = {}> = Resolver; type PositionsResolver>>, Parent = GraphQlError, TContext = {}> = Resolver; } export declare namespace SourceLocationResolvers { interface Resolvers { line?: LineResolver; column?: ColumnResolver; } type LineResolver = Resolver; type ColumnResolver = Resolver; } export declare namespace SimilarResolvers { interface Resolvers { name?: NameResolver; best?: BestResolver; types?: TypesResolver>, TypeParent, TContext>; } type NameResolver = Resolver; type BestResolver = Resolver; type TypesResolver>, Parent = ResolvedSimilar, TContext = {}> = Resolver; } export declare namespace MatchResolvers { interface Resolvers { name?: NameResolver; rating?: RatingResolver; } type NameResolver = Resolver; type RatingResolver = Resolver; } export declare namespace MutationResolvers { interface Resolvers { ping?: PingResolver; } type PingResolver = Resolver; } /** Directs the executor to skip this field or fragment when the `if` argument is true. */ export declare type SkipDirectiveResolver = DirectiveResolverFn; export interface SkipDirectiveArgs { /** Skipped when true. */ if: boolean; } /** Directs the executor to include this field or fragment only when the `if` argument is true. */ export declare type IncludeDirectiveResolver = DirectiveResolverFn; export interface IncludeDirectiveArgs { /** Included when true. */ if: boolean; } /** Marks an element of a GraphQL schema as no longer supported. */ export declare type DeprecatedDirectiveResolver = DirectiveResolverFn; export interface DeprecatedDirectiveArgs { /** Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax (as specified by [CommonMark](https://commonmark.org/). */ reason?: string; } export declare type IResolvers = { Query?: QueryResolvers.Resolvers; SchemaCoverage?: SchemaCoverageResolvers.Resolvers; DocumentSource?: DocumentSourceResolvers.Resolvers; TypeCoverage?: TypeCoverageResolvers.Resolvers; TypeChildCoverage?: TypeChildCoverageResolvers.Resolvers; DocumentLocation?: DocumentLocationResolvers.Resolvers; Location?: LocationResolvers.Resolvers; Change?: ChangeResolvers.Resolvers; Criticality?: CriticalityResolvers.Resolvers; InvalidDocument?: InvalidDocumentResolvers.Resolvers; GraphQlError?: GraphQlErrorResolvers.Resolvers; SourceLocation?: SourceLocationResolvers.Resolvers; Similar?: SimilarResolvers.Resolvers; Match?: MatchResolvers.Resolvers; Mutation?: MutationResolvers.Resolvers; } & { [typeName: string]: never; }; export declare type IDirectiveResolvers = { skip?: SkipDirectiveResolver; include?: IncludeDirectiveResolver; deprecated?: DeprecatedDirectiveResolver; } & { [directiveName: string]: never; };