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<string | null>;
    protected abstract write(data: RepoCacheRecord): Promise<void>;
    private restore;
    load(): Promise<void>;
    save(): Promise<void>;
    getData(): RepoCacheData;
    isModified(): boolean | undefined;
}
