import { parse, GraphQLSchema, ParseOptions, ValidationRule, FragmentDefinitionNode } from 'graphql'; import type { IPosition } from '@theguild/graphql-language-service-types'; import { defaultSchemaLoader, SchemaConfig, SchemaResponse, defaultSchemaBuilder } from './schemaLoader'; export declare type GraphQLLanguageConfig = { parser?: typeof parse; schemaLoader?: typeof defaultSchemaLoader; schemaBuilder?: typeof defaultSchemaBuilder; schemaString?: string; parseOptions?: ParseOptions; schemaConfig: SchemaConfig; exteralFragmentDefinitions?: FragmentDefinitionNode[] | string; }; export declare class LanguageService { private _parser; private _schema; private _schemaConfig; private _schemaResponse; private _schemaLoader; private _schemaBuilder; private _schemaString; private _parseOptions; private _exteralFragmentDefinitionNodes; private _exteralFragmentDefinitionsString; constructor({ parser, schemaLoader, schemaBuilder, schemaConfig, schemaString, parseOptions, exteralFragmentDefinitions, }: GraphQLLanguageConfig); get schema(): GraphQLSchema; getSchema(): Promise; getExternalFragmentDefinitions(): Promise; setSchema(schema: string): Promise; getSchemaResponse(): Promise; loadSchemaResponse(): Promise; loadSchema(): Promise; parse(text: string, options?: ParseOptions): Promise; getCompletion: (_uri: string, documentText: string, position: IPosition) => Promise; getDiagnostics: (_uri: string, documentText: string, customRules?: ValidationRule[] | undefined) => Promise; getHover: (_uri: string, documentText: string, position: IPosition) => Promise; } //# sourceMappingURL=LanguageService.d.ts.map