import { RepoCacheRecord } from '../schema'; import type { RepoCache, RepoCacheData } from '../types'; export declare abstract class RepoCacheBase implements RepoCache { protected readonly repository: string; protected readonly fingerprint: string; protected platform: import("../../../../constants").PlatformId; private oldHash; private data; protected constructor(repository: string, fingerprint: string); protected abstract read(): Promise; protected abstract write(data: RepoCacheRecord): Promise; private static parseData; private restore; load(): Promise; save(): Promise; getData(): RepoCacheData; isModified(): boolean | undefined; }