import { Ora } from 'ora';
import Command from '../base.js';
import IFlags from '../types/flags.js';
import ILiaraJSON from '../types/liara-json.js';
import ICreatedRelease from '../types/created-release.js';
import IDeploymentConfig from '../types/deployment-config.js';
export default class Deploy extends Command {
    static description: string;
    static flags: {
        path: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
        platform: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
        app: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
        port: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
        image: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
        detach: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
        'no-app-logs': import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
        args: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
        'build-arg': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string[] | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
        message: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
        disks: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string[] | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
        'no-cache': import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
        dockerfile: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
        'build-location': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
        'liara-json': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
        help: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<void>;
        dev: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
        debug: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
        'api-token': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
        account: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
        'team-id': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
    };
    spinner: Ora;
    run(): Promise<undefined>;
    deploy(config: IDeploymentConfig): Promise<ICreatedRelease>;
    createRelease(project: string, body: {
        [k: string]: any;
    }): import("got").CancelableRequest<ICreatedRelease>;
    showBuildLogs(releaseID: string): Promise<void>;
    __detectPlatformVersion(config: any, body: any): Promise<any>;
    showReleaseLogs(releaseID: string): Promise<void>;
    parseFailReason(reason: string): string;
    dontDeployEmptyProjects(projectPath: string): void;
    logKeyValue(key: string, value?: string): void;
    validateDeploymentConfig(config: IDeploymentConfig): void;
    promptProject(): Promise<string>;
    getMergedConfig(flags: IFlags): IDeploymentConfig;
    readProjectConfig(projectPath: string, liaraJsonFileName?: string): ILiaraJSON;
    validatePlatform(platform: string, projectPath: string): void;
    upload(project: string, sourcePath: string, sourceSize: number): Promise<string>;
}
