import type { Writable } from "stream";
import type { AtomicStep, ImageOrContainer } from "../container";
import type { ContainerCache } from "../containerCache";
export declare class SignKey {
    #private;
    private constructor();
    certificatePath(): Promise<string>;
    privateKeyPath(): Promise<string>;
    getHash(): Promise<Buffer<ArrayBufferLike>>;
    static from(certificateFile: string, privateKeyFile: string): SignKey;
}
export interface SbsignOptions {
    inputFile: string;
    outputFile?: string;
    key: SignKey;
    sbsignSource?: ImageOrContainer;
    containerCache?: ContainerCache;
    apkCache?: string;
    logger?: Writable;
}
export declare const sbsign: ({ inputFile, outputFile, key, sbsignSource, containerCache, apkCache, logger, }: SbsignOptions) => Promise<void>;
export declare const sbsignStep: ({ inputFile: inputFileInContainer, outputFile: outputFileInContainer, key, ...otherOptions }: SbsignOptions) => AtomicStep;
