import { Transaction, Cache as CacheInterface, ApolloCache } from '@apollo/client'; import { CacheContext } from '../context'; import { Cache, MigrationMap } from '../Cache'; import { CacheSnapshot } from '../CacheSnapshot'; import { GraphSnapshot } from '../GraphSnapshot'; import { ApolloQueryable } from './Queryable'; /** * Apollo-specific interface to the cache. */ export declare class Hermes extends ApolloQueryable { /** The underlying Hermes cache. */ protected _queryable: Cache; constructor(configuration?: CacheContext.Configuration); restore(data: any, migrationMap?: MigrationMap, verifyOptions?: CacheInterface.ReadOptions): ApolloCache; extract(optimistic?: boolean, pruneOptions?: CacheInterface.ReadOptions): any; reset(): Promise; removeOptimistic(id: string): void; performTransaction(transaction: Transaction): void; recordOptimisticTransaction(transaction: Transaction, id: string): void; watch(options: CacheInterface.WatchOptions): () => void; getCurrentCacheSnapshot(): CacheSnapshot; }