export type HashOrigin = 'sri' | 'berry-zip' | 'url-fragment' | 'registry' | 'recomputed'; export interface Hash { readonly algorithm: string; readonly digest: string; readonly origin: HashOrigin; } export interface Integrity { readonly hashes: readonly Hash[]; } export declare function emptyIntegrity(): Integrity; export declare function isEmptyIntegrity(i: Integrity): boolean; export declare function isTarballOrigin(origin: HashOrigin): boolean; export declare function tarballHashes(i: Integrity): Hash[]; export declare function tarballSha1ForUrlFragment(i: Integrity): string | undefined; export declare function pickAlgorithm(i: Integrity, algorithm: string): Hash | undefined; export declare function pickTarballSha512(i: Integrity): Hash | undefined; export declare function parseSri(raw: string, origin?: HashOrigin): Integrity; export declare function emitSri(i: Integrity): string | undefined; export declare function emitSriForRegistry(i: Integrity | undefined, resolvedUrl: string | undefined): string | undefined; export declare function parseBerryChecksum(raw: string): { integrity: Integrity; cacheKey?: string; }; export declare function emitBerryChecksum(i: Integrity): string | undefined; export declare function mergeIntegrity(a: Integrity, b: Integrity): Integrity; export declare function canonicalDigest(i: Integrity): string | undefined; export declare function integrityEquivalent(a: Integrity, b: Integrity): boolean;