import execa from "execa";
import { Environment } from "../env";
import { BuildKitBuildOptions, BuildKitGlobalOptions, BuildKitOutput, ImageStorage } from "./bk-types";
import { ImageRefRegistry, WithId } from "./image-ref";
import { File } from "./types";
export declare const pickBuildKitGlobals: (opts: BuildKitGlobalOptions) => BuildKitGlobalOptions;
export declare function buildKitBuild(dockerfile: string, contextPath: string, output: BuildKitOutput, options?: BuildKitBuildOptions): Promise<WithId<ImageRefRegistry>>;
interface ExecBuildKitOptions extends BuildKitGlobalOptions {
    env?: Environment;
}
/** @internal */
export declare function execBuildKit(args: string[], options: ExecBuildKitOptions): Promise<execa.ExecaReturnValue<string>>;
export interface BuildKitFilesImageOptions extends BuildKitGlobalOptions {
    /**
     * If set, adds a Docker LABEL to the built image with the DeployID.
     */
    deployID?: string;
    /**
     * Describes where to store the image.
     */
    storage: ImageStorage;
}
export declare function buildKitFilesImage(files: File[], options: BuildKitFilesImageOptions): Promise<WithId<ImageRefRegistry>>;
export declare function withBuildKitFilesImage<T>(files: File[] | undefined, opts: BuildKitFilesImageOptions, fn: (img: ImageRefRegistry | undefined) => T | Promise<T>): Promise<T>;
export {};
//# sourceMappingURL=bk-cli.d.ts.map