/**
 * 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 { Daemon } from '../../generated/models';
import { DaemonEnvironmentCreate } from '../../generated/models';
import { DaemonGetStatus } from '../../generated/models';
import { DaemonRelation } from '../../generated/models';
import { DaemonRestart } from '../../generated/models';
import { DaemonStart } from '../../generated/models';
import { DaemonStop } from '../../generated/models';
import { DaemonUpdate } from '../../generated/models';
/**
 * DaemonsApiService - Auto-generated
 */
export declare class DaemonsApiService extends ApiBaseService {
    /**
     *
     * @summary Add a Daemon to the given environment
     * @param {number} environmentId The ID of the environment.
     * @param {DaemonEnvironmentCreate} daemonEnvironmentCreate A JSON object containing the resource data
     */
    addEnvironmentDaemon(environmentId: number, daemonEnvironmentCreate: DaemonEnvironmentCreate): Promise<ApiResponse<Daemon>>;
    /**
     *
     * @summary Delete a given Daemon
     * @param {number} daemonId The ID of the daemon.
     */
    deleteDaemon(daemonId: number): Promise<ApiResponse<void>>;
    /**
     *
     * @summary Get a Daemon by ID
     * @param {number} daemonId The ID of the daemon.
     */
    getDaemon(daemonId: number): Promise<ApiResponse<Daemon>>;
    /**
     *
     * @summary Get current status of a daemon
     * @param {number} daemonId The ID of the daemon.
     * @param {DaemonGetStatus} daemonGetStatus A JSON object containing the resource data
     */
    getStatusDaemon(daemonId: number, daemonGetStatus: DaemonGetStatus): Promise<ApiResponse<void>>;
    /**
     *
     * @summary Return a list of all Daemons 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
     */
    listEnvironmentDaemons(environmentId: number, page?: number, perPage?: number): Promise<ApiResponse<Array<DaemonRelation>>>;
    /**
     *
     * @summary Restart a Daemon
     * @param {number} daemonId The ID of the daemon.
     * @param {DaemonRestart} daemonRestart A JSON object containing the resource data
     */
    restartDaemon(daemonId: number, daemonRestart: DaemonRestart): Promise<ApiResponse<void>>;
    /**
     *
     * @summary Start a Daemon
     * @param {number} daemonId The ID of the daemon.
     * @param {DaemonStart} daemonStart A JSON object containing the resource data
     */
    startDaemon(daemonId: number, daemonStart: DaemonStart): Promise<ApiResponse<void>>;
    /**
     *
     * @summary Stop a Daemon
     * @param {number} daemonId The ID of the daemon.
     * @param {DaemonStop} daemonStop A JSON object containing the resource data
     */
    stopDaemon(daemonId: number, daemonStop: DaemonStop): Promise<ApiResponse<void>>;
    /**
     *
     * @summary Update an existing Daemon
     * @param {number} daemonId The ID of the daemon.
     * @param {DaemonUpdate} daemonUpdate A JSON object containing the resource data
     */
    updateDaemon(daemonId: number, daemonUpdate: DaemonUpdate): Promise<ApiResponse<void>>;
}
