import Maybe from "../tsutils/Maybe"; import { DirectiveLocationEnum } from "../language/directiveLocation"; export interface IntrospectionOptions { // Whether to include descriptions in the introspection result. // Default: true descriptions: boolean; } export function getIntrospectionQuery(options?: IntrospectionOptions): string; /** * Deprecated, call getIntrospectionQuery directly. * * This function will be removed in v15 */ export const introspectionQuery: string; export interface IntrospectionQuery { readonly __schema: IntrospectionSchema; } export interface IntrospectionSchema { readonly queryType: IntrospectionNamedTypeRef; readonly mutationType: Maybe>; readonly subscriptionType: Maybe>; readonly types: ReadonlyArray; readonly directives: ReadonlyArray; } export type IntrospectionType = | IntrospectionScalarType | IntrospectionObjectType | IntrospectionInterfaceType | IntrospectionUnionType | IntrospectionEnumType | IntrospectionInputObjectType; export type IntrospectionOutputType = | IntrospectionScalarType | IntrospectionObjectType | IntrospectionInterfaceType | IntrospectionUnionType | IntrospectionEnumType; export type IntrospectionInputType = IntrospectionScalarType | IntrospectionEnumType | IntrospectionInputObjectType; export interface IntrospectionScalarType { readonly kind: "SCALAR"; readonly name: string; readonly description?: Maybe; } export interface IntrospectionObjectType { readonly kind: "OBJECT"; readonly name: string; readonly description?: Maybe; readonly fields: ReadonlyArray; readonly interfaces: ReadonlyArray>; } export interface IntrospectionInterfaceType { readonly kind: "INTERFACE"; readonly name: string; readonly description?: Maybe; readonly fields: ReadonlyArray; readonly possibleTypes: ReadonlyArray>; } export interface IntrospectionUnionType { readonly kind: "UNION"; readonly name: string; readonly description?: Maybe; readonly possibleTypes: ReadonlyArray>; } 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 { readonly kind: "LIST"; readonly ofType: T; } export interface IntrospectionNonNullTypeRef { readonly kind: "NON_NULL"; readonly ofType: T; } export type IntrospectionTypeRef = | IntrospectionNamedTypeRef | IntrospectionListTypeRef | IntrospectionNonNullTypeRef | IntrospectionListTypeRef>; export type IntrospectionOutputTypeRef = | IntrospectionNamedTypeRef | IntrospectionListTypeRef | IntrospectionNonNullTypeRef | IntrospectionListTypeRef>; export type IntrospectionInputTypeRef = | IntrospectionNamedTypeRef | IntrospectionListTypeRef | IntrospectionNonNullTypeRef | IntrospectionListTypeRef>; export interface IntrospectionNamedTypeRef { 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; } 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 locations: ReadonlyArray; readonly args: ReadonlyArray; }