/// <reference types="node" />
import AdmZip from 'adm-zip';
import { bundle } from '../../../proto_gen/proto';
export declare enum MemoryRegion {
    INTERNAL_FLASH = 0,
    SPI_FLASH = 1
}
export declare class AppLayer {
    private maybeEncryptedRomData;
    private startAddr;
    private size;
    private region;
    private encryptionKey;
    private writeable;
    private romDataHash;
    private regionHash;
    constructor(romData: Buffer, startAddr: number, size: number, region: MemoryRegion, encryptionKey: string | Buffer | undefined, writeable: boolean);
    rom(): Buffer;
    romHash(): Buffer;
    manifestLayer(): bundle.IAppLayerReference;
    private keyId;
    private hash;
    private hashOfFlash;
}
export declare class AppBundle {
    private layers;
    private debugKey;
    private minimumKernelVersion;
    private connectionGraceTime;
    private minimumCheckInTime;
    constructor(layers: AppLayer[], debugKey: string | Buffer | undefined, minimumKernelVersion: number, connectionGraceTime: number, minimumCheckInTime: number);
    private debugAuthPubKey;
    private getManifest;
    getZip(): AdmZip;
}
