import { BuildManifest, BuildRuntime } from "@trigger.dev/core/v3/schemas";
import { CliApiClient } from "../apiClient.js";
export interface BuildImageOptions {
    isLocalBuild: boolean;
    useRegistryCache?: boolean;
    imagePlatform: string;
    noCache?: boolean;
    load?: boolean;
    compression?: "zstd" | "gzip";
    cacheCompression?: "zstd" | "gzip";
    compressionLevel?: number;
    forceCompression?: boolean;
    push?: boolean;
    authenticateToRegistry?: boolean;
    network?: string;
    builder: string;
    authAccessToken: string;
    imageTag: string;
    deploymentId: string;
    deploymentVersion: string;
    contentHash: string;
    externalBuildId?: string;
    externalBuildToken?: string;
    externalBuildProjectId?: string;
    compilationPath: string;
    projectId: string;
    projectRef: string;
    extraCACerts?: string;
    apiUrl: string;
    apiKey: string;
    apiClient: CliApiClient;
    branchName?: string;
    buildEnvVars?: Record<string, string | undefined>;
    onLog?: (log: string) => void;
    deploymentSpinner?: any;
}
export declare function buildImage(options: BuildImageOptions): Promise<BuildImageResults>;
export interface DepotBuildImageOptions {
    auth: string;
    buildId: string;
    buildToken: string;
    buildProjectId: string;
    cwd: string;
    projectId: string;
    deploymentId: string;
    deploymentVersion: string;
    contentHash: string;
    projectRef: string;
    imagePlatform: string;
    apiUrl: string;
    apiKey: string;
    branchName?: string;
    load?: boolean;
    noCache?: boolean;
    extraCACerts?: string;
    buildEnvVars?: Record<string, string | undefined>;
    compression?: "zstd" | "gzip";
    compressionLevel?: number;
    forceCompression?: boolean;
    onLog?: (log: string) => void;
}
type BuildImageSuccess = {
    ok: true;
    imageSizeBytes: number;
    logs: string;
    digest?: string;
};
type BuildImageFailure = {
    ok: false;
    error: string;
    logs: string;
};
type BuildImageResults = BuildImageSuccess | BuildImageFailure;
export type GenerateContainerfileOptions = {
    runtime: BuildRuntime;
    build: BuildManifest["build"];
    image: BuildManifest["image"];
    indexScript: string;
    entrypoint: string;
};
export declare function generateContainerfile(options: GenerateContainerfileOptions): Promise<string>;
export {};
