import { ToString } from '@ipld/dag-json';
import { AnyBlock, AnyLink, DbMeta } from './types';
export declare abstract class HeaderStore {
    tag: string;
    name: string;
    constructor(name: string);
    makeHeader(car: AnyLink): ToString<DbMeta>;
    parseHeader(headerData: ToString<DbMeta>): DbMeta;
    abstract load(branch?: string): Promise<DbMeta | null>;
    abstract save(carCid: AnyLink, branch?: string): Promise<void>;
}
export declare abstract class CarStore {
    tag: string;
    name: string;
    constructor(name: string);
    abstract load(cid: AnyLink): Promise<AnyBlock>;
    abstract save(car: AnyBlock): Promise<void>;
    abstract remove(cid: AnyLink): Promise<void>;
}
