import type { Maybe } from '../jsutils/Maybe'; import type { DirectiveLocation } from '../language/directiveLocation'; export interface IntrospectionOptions { /** * Whether to include descriptions in the introspection result. * Default: true */ descriptions?: boolean; /** * Whether to include `specifiedByURL` in the introspection result. * Default: false */ specifiedByUrl?: boolean; /** * Whether to include `isRepeatable` flag on directives. * Default: false */ directiveIsRepeatable?: boolean; /** * Whether to include `description` field on schema. * Default: false */ schemaDescription?: boolean; /** * Whether target GraphQL server support deprecation of input values. * Default: false */ inputValueDeprecation?: boolean; } /** * Produce the GraphQL query recommended for a full schema introspection. * Accepts optional IntrospectionOptions. */ export declare function getIntrospectionQuery( options?: IntrospectionOptions, ): string; export interface IntrospectionQuery { readonly __schema: IntrospectionSchema; } export interface IntrospectionSchema { readonly description?: Maybe; readonly queryType: IntrospectionNamedTypeRef; readonly mutationType: Maybe< IntrospectionNamedTypeRef >; readonly subscriptionType: Maybe< IntrospectionNamedTypeRef >; readonly types: ReadonlyArray; readonly directives: ReadonlyArray; } export declare type IntrospectionType = | IntrospectionScalarType | IntrospectionObjectType | IntrospectionInterfaceType | IntrospectionUnionType | IntrospectionEnumType | IntrospectionInputObjectType; export declare type IntrospectionOutputType = | IntrospectionScalarType | IntrospectionObjectType | IntrospectionInterfaceType | IntrospectionUnionType | IntrospectionEnumType; export declare type IntrospectionInputType = | IntrospectionScalarType | IntrospectionEnumType | IntrospectionInputObjectType; export interface IntrospectionScalarType { readonly kind: 'SCALAR'; readonly name: string; readonly description?: Maybe; readonly specifiedByURL?: Maybe; } export interface IntrospectionObjectType { readonly kind: 'OBJECT'; readonly name: string; readonly description?: Maybe; readonly fields: ReadonlyArray; readonly interfaces: ReadonlyArray< IntrospectionNamedTypeRef >; } export interface IntrospectionInterfaceType { readonly kind: 'INTERFACE'; readonly name: string; readonly description?: Maybe; readonly fields: ReadonlyArray; readonly interfaces: ReadonlyArray< IntrospectionNamedTypeRef >; readonly possibleTypes: ReadonlyArray< IntrospectionNamedTypeRef >; } export interface IntrospectionUnionType { readonly kind: 'UNION'; readonly name: string; readonly description?: Maybe; readonly possibleTypes: ReadonlyArray< IntrospectionNamedTypeRef >; } export interface IntrospectionEnumType { readonly kind: 'ENUM'; readonly name: string; readonly description?: Maybe; readonly enumValues: ReadonlyArray; } export interface IntrospectionInputObjectType { readonly kind: 'INPUT_OBJECT'; readonly name: string; readonly description?: Maybe; readonly inputFields: ReadonlyArray; } export interface IntrospectionListTypeRef< T extends IntrospectionTypeRef = IntrospectionTypeRef, > { readonly kind: 'LIST'; readonly ofType: T; } export interface IntrospectionNonNullTypeRef< T extends IntrospectionTypeRef = IntrospectionTypeRef, > { readonly kind: 'NON_NULL'; readonly ofType: T; } export declare type IntrospectionTypeRef = | IntrospectionNamedTypeRef | IntrospectionListTypeRef | IntrospectionNonNullTypeRef< IntrospectionNamedTypeRef | IntrospectionListTypeRef >; export declare type IntrospectionOutputTypeRef = | IntrospectionNamedTypeRef | IntrospectionListTypeRef | IntrospectionNonNullTypeRef< | IntrospectionNamedTypeRef | IntrospectionListTypeRef >; export declare type IntrospectionInputTypeRef = | IntrospectionNamedTypeRef | IntrospectionListTypeRef | IntrospectionNonNullTypeRef< | IntrospectionNamedTypeRef | IntrospectionListTypeRef >; export interface IntrospectionNamedTypeRef< T extends IntrospectionType = IntrospectionType, > { readonly kind: T['kind']; readonly name: string; } export interface IntrospectionField { readonly name: string; readonly description?: Maybe; readonly args: ReadonlyArray; readonly type: IntrospectionOutputTypeRef; readonly isDeprecated: boolean; readonly deprecationReason: Maybe; } export interface IntrospectionInputValue { readonly name: string; readonly description?: Maybe; readonly type: IntrospectionInputTypeRef; readonly defaultValue: Maybe; readonly isDeprecated?: boolean; readonly deprecationReason?: Maybe; } export interface IntrospectionEnumValue { readonly name: string; readonly description?: Maybe; readonly isDeprecated: boolean; readonly deprecationReason: Maybe; } export interface IntrospectionDirective { readonly name: string; readonly description?: Maybe; readonly isRepeatable?: boolean; readonly locations: ReadonlyArray; readonly args: ReadonlyArray; }