/**
 * An object that represents an integrity digest of a given version.
 */
type IntegrityDigest<Version extends number, AdditionalParams> = {
    used: false;
} | ({
    used: true;
    version: Version;
} & AdditionalParams);
/**
 * A v1 integrity digest.
 */
type IntegrityDigestV1 = IntegrityDigest<1, {
    sha256Digest: Buffer;
}>;
/**
 * A map type of all integrity digest versions.
 */
type DigestByVersion = {
    1: IntegrityDigestV1;
};
/**
 * A union of all integrity digest versions.
 */
type AnyIntegrityDigest = DigestByVersion[keyof DigestByVersion];
export declare class InvalidAppPathError extends Error {
    constructor();
}
export declare class InvalidAsarIntegrityError extends Error {
    constructor();
}
export declare class MissingIntegrityDigestError extends Error {
    constructor();
}
export declare class MultipleDifferentIntegrityDigestsError extends Error {
    constructor();
}
export declare class UnknownIntegrityDigestVersionError extends Error {
    constructor(version: number);
}
/**
 * Calculates the integrity digest for the app.
 * @param appPath - The path to the app bundle.
 * @param version - The version of the integrity digest to calculate.
 * @returns The integrity digest for the app.
 */
export declare function calculateIntegrityDigestForApp<Version extends keyof DigestByVersion>(appPath: string, version: Version): DigestByVersion[Version];
/**
 * Gets the stored integrity digest for the app.
 * @param appPath - The path to the app bundle.
 * @returns The stored integrity digest for the app.
 */
export declare function getStoredIntegrityDigestForApp<T extends AnyIntegrityDigest>(appPath: string): T;
/**
 * Sets the stored integrity digest for the app.
 * @param appPath - The path to the app bundle.
 * @param digest - The integrity digest to set.
 * @returns The stored integrity digest for the app.
 */
export declare function setStoredIntegrityDigestForApp<T extends AnyIntegrityDigest>(appPath: string, digest: T): void;
export declare function enableIntegrityDigestForApp(appPath: string): Promise<void>;
export declare function disableIntegrityDigestForApp(appPath: string): Promise<void>;
export declare function printStoredIntegrityDigestForApp(appPath: string): Promise<void>;
export declare function verifyIntegrityDigestForApp(appPath: string): Promise<void>;
export {};
