import type { IRelease } from "../entities";
import * as entities from "../entities";
import * as interfaces from "../interfaces";
import BaseController from "./BaseController";
export default class ReleaseController extends BaseController<IRelease> {
    constructor();
    /**
     * List of releases
     */
    read(queryParams?: interfaces.IGetQueryParams): Promise<interfaces.ResponseData>;
    create(body: entities.ReleaseDto, queryParams?: interfaces.IPostQueryParams): Promise<interfaces.ResponseData>;
    update(body: entities.ReleaseDto, queryParams?: interfaces.IPostQueryParams): Promise<interfaces.ResponseData>;
    delete(queryParams?: interfaces.IDeleteQueryParams): Promise<interfaces.ResponseData>;
    createFromApp(body: {
        /**
         * App's slug
         */
        app: string;
        /**
         * Deploy environment
         * @example dev,prod,...
         */
        env: string;
        /**
         * Build tag is image's tag (no special characters, eg. "dot" or "comma")
         * @example latest, v01, prerelease, alpha, beta,...
         */
        buildTag: string;
    }): Promise<interfaces.ResponseData>;
    createFromBuild(body: {
        /**
         * Build's ID
         */
        build: string;
        /**
         * Deploy environment
         * @example dev,prod,...
         */
        env: string;
    }): Promise<interfaces.ResponseData>;
    rollout(data: {
        id: string;
    }): Promise<interfaces.ResponseData>;
    rolloutV2(data: {
        id: string;
    }): Promise<interfaces.ResponseData>;
    previewPrerelease(data: {
        id: string;
    }): Promise<interfaces.ResponseData>;
    /**
     * @deprecated
     */
    migrate(): Promise<void>;
}
//# sourceMappingURL=ReleaseController.d.ts.map