import type { SemVer } from 'semver'; import type { Hash } from './hash'; import type { Tag } from './tag'; export declare class TagMap extends Map { /** * get snap by hash. */ byHash(hash: Hash): Tag | undefined; /** * e.g. * { * alpha: '1.0.0-alpha.5', * dev: '2.2.4-dev.37 * } */ getPreReleaseLatestTags(): { [preRelease: string]: string; }; /** * Get a map that map snap hash to tag */ getHashMap(): Map; /** * get the latest semver from the tag map. */ getLatest(): string; isEmpty(): boolean; /** * get an array of all tags. */ toArray(): Tag[]; byVersion(version: string): Tag | undefined; static fromArray(tags: Tag[]): TagMap; static empty(): TagMap; }