/**
 * devopness API
 * Devopness API - Painless essential DevOps to everyone
 *
 * The version of the OpenAPI document: latest
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import { ApiBaseService } from "../../../services/ApiBaseService";
import { ApiResponse } from "../../../common/ApiResponse";
import { Application } from '../../generated/models';
import { ApplicationEnvironmentCreate } from '../../generated/models';
import { ApplicationRelation } from '../../generated/models';
import { ApplicationUpdate } from '../../generated/models';
import { DeploymentApplicationCreate } from '../../generated/models';
/**
 * ApplicationsApiService - Auto-generated
 */
export declare class ApplicationsApiService extends ApiBaseService {
    /**
     *
     * @summary Trigger a new deployment for current application
     * @param {number} applicationId The ID of the application.
     * @param {DeploymentApplicationCreate} deploymentApplicationCreate A JSON object containing the resource data
     */
    addApplicationDeployment(applicationId: number, deploymentApplicationCreate: DeploymentApplicationCreate): Promise<ApiResponse<void>>;
    /**
     *
     * @summary Create a new application
     * @param {number} environmentId The ID of the environment.
     * @param {ApplicationEnvironmentCreate} applicationEnvironmentCreate A JSON object containing the resource data
     */
    addEnvironmentApplication(environmentId: number, applicationEnvironmentCreate: ApplicationEnvironmentCreate): Promise<ApiResponse<Application>>;
    /**
     *
     * @summary Delete a given application
     * @param {number} applicationId The ID of the application.
     */
    deleteApplication(applicationId: number): Promise<ApiResponse<void>>;
    /**
     *
     * @summary Get an application by ID
     * @param {number} applicationId The ID of the application.
     */
    getApplication(applicationId: number): Promise<ApiResponse<Application>>;
    /**
     *
     * @summary Return a list of all Applications belonging to an environment
     * @param {number} environmentId The ID of the environment.
     * @param {number} [page] Number of the page to be retrieved
     * @param {number} [perPage] Number of items returned per page
     */
    listEnvironmentApplications(environmentId: number, page?: number, perPage?: number): Promise<ApiResponse<Array<ApplicationRelation>>>;
    /**
     *
     * @summary Update an existing application
     * @param {number} applicationId The ID of the application.
     * @param {ApplicationUpdate} applicationUpdate A JSON object containing the resource data
     */
    updateApplication(applicationId: number, applicationUpdate: ApplicationUpdate): Promise<ApiResponse<void>>;
}
