import { type FragmentDefinitionNode } from 'graphql'; type DefinitionAST = unknown; type DefinitionParser = (documentString: string) => { name: string; node: T; }[]; type DefinitionEntry = { fileName: string; extra: TExtra; documentString: string; definitionName: string; node: T; }; type AffectedDefinitonNameHistoryEntry = { updated: Set; appeared: Set; disappeared: Set; }; export declare class DefinitionFileStore { private _storeVersion; private _affectedDefinitonNameHistories; private _mapByFileName; private _uniqueRecordMap; private _duplicatedRecordMap; private _parse; private _enabledDebugAssertInvaliant; constructor({ parse, enabledDebugAssertInvaliant, }: { parse: DefinitionParser; enabledDebugAssertInvaliant?: boolean; }); assertInvariant(): void; getStoreVersion(): number; getDetailedAffectedDefinitions(from: number): AffectedDefinitonNameHistoryEntry[]; getSummarizedAffectedDefinitions(from: number): Set; getUniqueDefinitonMap(): Map>; getDuplicatedDefinitonMap(): Map[]>; updateDocuments(fileName: string, documents: { text: string; extra: TExtra; }[]): void; private _assert; private _addValueToRecordMaps; private _removeValueFromRecordMaps; } type FragmentRegistryCreateOptions = { logger: (msg: string) => void; }; export declare class FragmentRegistry { private _fileVersionMap; private _store; private _externalFragmentsCache; private _logger; constructor(options?: FragmentRegistryCreateOptions); getFileCurrentVersion(fileName: string): string | undefined; getFragmentDefinitions(): FragmentDefinitionNode[]; getFragmentDefinitionsWithMap(): { definitions: FragmentDefinitionNode[]; map: Map; }; getFragmentDefinitionEntryDetail(name: string): DefinitionEntry | undefined; getDuplicaterdFragmentDefinitions(): Set; getExternalFragments(documentStr: string, fileName: string, sourcePosition: number): FragmentDefinitionNode[]; registerDocuments(fileName: string, version: string, documentStrings: { text: string; sourcePosition: number; }[]): void; removeDocument(fileName: string): void; } export {};