import { type Writable } from "stream";
import { type ImageOrContainer } from "../container";
import type { ContainerCache } from "../containerCache";
import { type CertificateOptions } from "./openssl";
import { SignKey } from "./sbsign";
import { DiskLocation } from "../steps";
export type SecureBootKeys = "PK" | "KEK" | "db";
export interface SecureBootOptions {
    outputDirectory: string;
    defaultCertOptions?: CertificateOptions;
    certOptions?: Record<SecureBootKeys, CertificateOptions>;
    guid?: string;
    opensslSource?: ImageOrContainer;
    efitoolsSource?: string;
    logger: Writable;
    apkCache: string;
    containerCache: ContainerCache;
}
export declare const secureBoot: ({ outputDirectory, defaultCertOptions, certOptions, guid, opensslSource, efitoolsSource, logger, apkCache, containerCache, }: SecureBootOptions) => Promise<{
    key: SignKey;
    authFiles: {
        "PK.auth": DiskLocation;
        "KEK.auth": DiskLocation;
        "db.auth": DiskLocation;
    };
}>;
