import Ref from '../objects/ref'; type DetachedHeadsObject = { heads?: string[]; deleted?: string[]; current?: string; }; export declare class DetachedHeads { protected heads: Ref[]; protected current?: Ref | undefined; protected deleted: Ref[]; constructor(heads?: Ref[], current?: Ref | undefined, deleted?: Ref[]); setHead(head: Ref): void; getCurrent(): Ref | undefined; getAllHeads(): Ref[]; /** * happens during reset. these heads are local, so no need to enter them into "deleted" array. */ removeLocalHeads(refs: Ref[]): void; clearCurrent(): void; merge(incoming: DetachedHeads, isImport: boolean): void; deleteFromHeadsIfNeeded(): void; toObject(): DetachedHeadsObject | undefined; static fromObject(object?: DetachedHeadsObject): DetachedHeads; } export {};