/**
 * 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 { Service } from '../../generated/models';
import { ServiceEnvironmentCreate } from '../../generated/models';
import { ServiceGetStatus } from '../../generated/models';
import { ServiceRelation } from '../../generated/models';
import { ServiceReload } from '../../generated/models';
import { ServiceRestart } from '../../generated/models';
import { ServiceStart } from '../../generated/models';
import { ServiceStop } from '../../generated/models';
import { ServiceUpdate } from '../../generated/models';
/**
 * ServicesApiService - Auto-generated
 */
export declare class ServicesApiService extends ApiBaseService {
    /**
     *
     * @summary Add a Service to the given environment
     * @param {number} environmentId The ID of the environment.
     * @param {ServiceEnvironmentCreate} serviceEnvironmentCreate A JSON object containing the resource data
     */
    addEnvironmentService(environmentId: number, serviceEnvironmentCreate: ServiceEnvironmentCreate): Promise<ApiResponse<Service>>;
    /**
     *
     * @summary Delete a given service
     * @param {number} serviceId The ID of the service.
     */
    deleteService(serviceId: number): Promise<ApiResponse<void>>;
    /**
     *
     * @summary Get details of a single service
     * @param {number} serviceId The ID of the service.
     */
    getService(serviceId: number): Promise<ApiResponse<Service>>;
    /**
     *
     * @summary Get current status of a service
     * @param {number} serviceId The ID of the service.
     * @param {ServiceGetStatus} serviceGetStatus A JSON object containing the resource data
     */
    getStatusService(serviceId: number, serviceGetStatus: ServiceGetStatus): Promise<ApiResponse<void>>;
    /**
     *
     * @summary Return a list of all services belonging to a 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
     */
    listEnvironmentServices(environmentId: number, page?: number, perPage?: number): Promise<ApiResponse<Array<ServiceRelation>>>;
    /**
     *
     * @summary Reload a service
     * @param {number} serviceId The ID of the service.
     * @param {ServiceReload} serviceReload A JSON object containing the resource data
     */
    reloadService(serviceId: number, serviceReload: ServiceReload): Promise<ApiResponse<void>>;
    /**
     *
     * @summary Restart a service
     * @param {number} serviceId The ID of the service.
     * @param {ServiceRestart} serviceRestart A JSON object containing the resource data
     */
    restartService(serviceId: number, serviceRestart: ServiceRestart): Promise<ApiResponse<void>>;
    /**
     *
     * @summary Start a service
     * @param {number} serviceId The ID of the service.
     * @param {ServiceStart} serviceStart A JSON object containing the resource data
     */
    startService(serviceId: number, serviceStart: ServiceStart): Promise<ApiResponse<void>>;
    /**
     *
     * @summary Stop a service
     * @param {number} serviceId The ID of the service.
     * @param {ServiceStop} serviceStop A JSON object containing the resource data
     */
    stopService(serviceId: number, serviceStop: ServiceStop): Promise<ApiResponse<void>>;
    /**
     *
     * @summary Update an existing service
     * @param {number} serviceId The ID of the service.
     * @param {ServiceUpdate} serviceUpdate A JSON object containing the resource data
     */
    updateService(serviceId: number, serviceUpdate: ServiceUpdate): Promise<ApiResponse<void>>;
}
