import type { DeployBuildParams } from "../controllers/DeployController";
import type { IBuild, IRelease, IUser, IWorkspace } from "../entities";
import type { Ownership } from "../interfaces/SystemTypes";
import type { StartBuildParams } from "../modules/build";
import type { DeployBuildOptions } from "../modules/deploy/deploy-build";
import type { DeployBuildV2Options } from "../modules/deploy/deploy-build-v2";
import type { PromoteDeployEnvironmentOptions } from "../modules/deploy/promote-deploy-environment";
export default class DeployService {
    /**
     * Current login user
     */
    user?: IUser;
    /**
     * Current active workspace
     */
    workspace?: IWorkspace;
    /**
     * Current owner & workspace
     */
    ownership?: Ownership;
    constructor(ownership?: Ownership);
    /**
     * Build container image first, then deploy that build to target deploy environment.
     */
    buildAndDeploy(buildParams: StartBuildParams, deployParams: DeployBuildParams, ownership: Ownership): Promise<{
        logURL: string;
    }>;
    /**
     * Deploy from a build (V2 - Deprecated soon)
     * @deprecated
     */
    deployBuild(build: IBuild, options: DeployBuildOptions): Promise<import("../modules/deploy/deploy-build").DeployBuildResult>;
    /**
     * Deploy from a build (V2)
     */
    deployBuildV2(build: IBuild, options: DeployBuildV2Options): Promise<import("../modules/deploy/deploy-build-v2").DeployBuildV2Result>;
    /**
     * Deploy from a release (V2)
     */
    deployRelease(release: IRelease, options: DeployBuildV2Options): Promise<import("../modules/deploy/deploy-build-v2").DeployBuildV2Result>;
    /**
     * Promote a deploy environment to another deploy environment (default: "production").
     */
    promoteDeployEnvironment(options: PromoteDeployEnvironmentOptions): Promise<import("../modules/deploy/deploy-build-v2").DeployBuildV2Result>;
}
export { DeployService };
//# sourceMappingURL=DeployService.d.ts.map