import { Command } from '@oclif/core';
import type { ComposeOpts } from '../../utils/compose-types';
import type { BuildOpts } from '../../utils/docker';
import type { ApplicationType, DeviceType, Release } from 'balena-sdk';
interface ApplicationWithArch {
    id: number;
    arch: string;
    is_for__device_type: [Pick<DeviceType, 'slug'>];
    application_type: [Pick<ApplicationType, 'slug' | 'supports_multicontainer'>];
}
export default class DeployCmd extends Command {
    static description: string;
    static examples: string[];
    static args: {
        fleet: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
        image: import("@oclif/core/lib/interfaces").Arg<string | undefined, Record<string, unknown>>;
    };
    static flags: {
        docker: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
        dockerHost: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
        dockerPort: import("@oclif/core/lib/interfaces").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
        ca: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
        cert: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
        key: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
        tag: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
        buildArg: import("@oclif/core/lib/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
        'cache-from': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
        nocache: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
        pull: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
        squash: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
        emulated: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
        dockerfile: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
        nologs: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
        'multi-dockerignore': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
        'noparent-check': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
        'registry-secrets': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
        'noconvert-eol': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
        projectName: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
        source: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
        build: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
        nologupload: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
        'release-tag': import("@oclif/core/lib/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
        draft: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
        note: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
    };
    static authenticated: boolean;
    static primary: boolean;
    run(): Promise<void>;
    deployProject(docker: import('dockerode'), logger: import('../../utils/logger'), composeOpts: ComposeOpts, opts: {
        app: ApplicationWithArch;
        appName: string;
        image?: string;
        dockerfilePath?: string;
        shouldPerformBuild: boolean;
        shouldUploadLogs: boolean;
        buildEmulated: boolean;
        buildOpts: BuildOpts;
        createAsDraft: boolean;
    }): Promise<Release | Pick<import("@balena/compose/dist/release/models").ReleaseModel, "semver" | "id" | "status" | "contract" | "commit" | "composition" | "source" | "start_timestamp" | "end_timestamp" | "is_final">>;
}
export {};
