import { ASTNode } from 'graphql/language'; import type { CachedContent, GraphQLCache as GraphQLCacheInterface, GraphQLFileMetadata, GraphQLFileInfo, FragmentInfo, ObjectTypeInfo, Uri } from '@theguild/graphql-language-service'; import { GraphQLSchema } from 'graphql'; import { GraphQLConfig, GraphQLProjectConfig } from 'graphql-config'; import { parseDocument } from './parseDocument'; import { LoadConfigOptions } from './types'; export declare function getGraphQLCache({ parser, loadConfigOptions, config, }: { parser: typeof parseDocument; loadConfigOptions: LoadConfigOptions; config?: GraphQLConfig; }): Promise; export declare class GraphQLCache implements GraphQLCacheInterface { _configDir: Uri; _graphQLFileListCache: Map>; _graphQLConfig: GraphQLConfig; _schemaMap: Map; _typeExtensionMap: Map; _fragmentDefinitionsCache: Map>; _typeDefinitionsCache: Map>; _parser: typeof parseDocument; constructor({ configDir, config, parser, }: { configDir: Uri; config: GraphQLConfig; parser: typeof parseDocument; }); getGraphQLConfig: () => GraphQLConfig; getProjectForFile: (uri: string) => GraphQLProjectConfig; getFragmentDependencies: (query: string, fragmentDefinitions?: Map | null | undefined) => Promise; getFragmentDependenciesForAST: (parsedQuery: ASTNode, fragmentDefinitions: Map) => Promise; getFragmentDefinitions: (projectConfig: GraphQLProjectConfig) => Promise>; getObjectTypeDependencies: (query: string, objectTypeDefinitions?: Map | undefined) => Promise>; getObjectTypeDependenciesForAST: (parsedQuery: ASTNode, objectTypeDefinitions: Map) => Promise>; getObjectTypeDefinitions: (projectConfig: GraphQLProjectConfig) => Promise>; _readFilesFromInputDirs: (rootDir: string, projectConfig: GraphQLProjectConfig) => Promise>; _updateGraphQLFileListCache(graphQLFileMap: Map, metrics: { size: number; mtime: number; }, filePath: Uri, exists: boolean): Promise>; updateFragmentDefinition(rootDir: Uri, filePath: Uri, contents: Array): Promise; updateFragmentDefinitionCache(rootDir: Uri, filePath: Uri, exists: boolean): Promise; updateObjectTypeDefinition(rootDir: Uri, filePath: Uri, contents: Array): Promise; updateObjectTypeDefinitionCache(rootDir: Uri, filePath: Uri, exists: boolean): Promise; _extendSchema(schema: GraphQLSchema, schemaPath: string | null, schemaCacheKey: string | null): GraphQLSchema; getSchema: (appName?: string | undefined, queryHasExtensions?: boolean | null | undefined) => Promise; _invalidateSchemaCacheForProject(projectConfig: GraphQLProjectConfig): void; _getSchemaCacheKeyForProject(projectConfig: GraphQLProjectConfig): string | { [key: string]: any; } | import("@graphql-tools/load").UnnormalizedTypeDefPointer[]; _getProjectName(projectConfig: GraphQLProjectConfig): GraphQLProjectConfig; readAllGraphQLFiles: (list: Array) => Promise<{ objectTypeDefinitions: Map; fragmentDefinitions: Map; graphQLFileMap: Map; }>; processGraphQLFiles: (responses: Array) => { objectTypeDefinitions: Map; fragmentDefinitions: Map; graphQLFileMap: Map; }; promiseToReadGraphQLFile: (filePath: Uri) => Promise; } //# sourceMappingURL=GraphQLCache.d.ts.map