/**
 * 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 { Server } from '../../generated/models';
import { ServerCommand } from '../../generated/models';
import { ServerEnvironmentCreate } from '../../generated/models';
import { ServerRelation } from '../../generated/models';
import { ServerUpdate } from '../../generated/models';
/**
 * ServersApiService - Auto-generated
 */
export declare class ServersApiService extends ApiBaseService {
    /**
     *
     * @summary Creates a server and link it to the given environment
     * @param {number} environmentId The ID of the environment.
     * @param {ServerEnvironmentCreate} serverEnvironmentCreate A JSON object containing the resource data
     */
    addEnvironmentServer(environmentId: number, serverEnvironmentCreate: ServerEnvironmentCreate): Promise<ApiResponse<Server>>;
    /**
     *
     * @summary Connect a server to devopness platform
     * @param {string} activationToken The server activation token.
     * @param {number} serverId The ID of the server.
     */
    connectServer(activationToken: string, serverId: number): Promise<ApiResponse<string>>;
    /**
     *
     * @summary Delete a given server
     * @param {number} serverId The ID of the server.
     * @param {boolean} [destroyServerDisks] Indicates whether disks associated with a cloud server should be deleted after the server is destroyed
     */
    deleteServer(serverId: number, destroyServerDisks?: boolean): Promise<ApiResponse<void>>;
    /**
     *
     * @summary Get a server by ID
     * @param {number} serverId The ID of the server.
     */
    getServer(serverId: number): Promise<ApiResponse<Server>>;
    /**
     *
     * @summary Get commands to be executed on the given server
     * @param {number} serverId The ID of the server.
     */
    getServerCommands(serverId: number): Promise<ApiResponse<ServerCommand>>;
    /**
     *
     * @summary Get current status of the server on the cloud provider
     * @param {number} serverId The ID of the server.
     */
    getStatusServer(serverId: number): Promise<ApiResponse<void>>;
    /**
     *
     * @summary Return a list of all servers 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
     */
    listEnvironmentServers(environmentId: number, page?: number, perPage?: number): Promise<ApiResponse<Array<ServerRelation>>>;
    /**
     *
     * @summary Restart a current running server
     * @param {number} serverId The ID of the server.
     */
    restartServer(serverId: number): Promise<ApiResponse<void>>;
    /**
     *
     * @summary Rotate the key used to access the server
     * @param {number} serverId The ID of the server.
     */
    rotateKeyServer(serverId: number): Promise<ApiResponse<void>>;
    /**
     *
     * @summary Start a previously stopped server
     * @param {number} serverId The ID of the server.
     */
    startServer(serverId: number): Promise<ApiResponse<void>>;
    /**
     *
     * @summary Stop a running server
     * @param {number} serverId The ID of the server.
     */
    stopServer(serverId: number): Promise<ApiResponse<void>>;
    /**
     *
     * @summary Update an existing server
     * @param {number} serverId The ID of the server.
     * @param {ServerUpdate} serverUpdate A JSON object containing the resource data
     */
    updateServer(serverId: number, serverUpdate: ServerUpdate): Promise<ApiResponse<void>>;
}
