/**
 * 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 { NetworkRule } from '../../generated/models';
import { NetworkRuleDeploy } from '../../generated/models';
import { NetworkRuleEnvironmentCreate } from '../../generated/models';
import { NetworkRuleRelation } from '../../generated/models';
import { NetworkRuleUpdate } from '../../generated/models';
/**
 * NetworkRulesApiService - Auto-generated
 */
export declare class NetworkRulesApiService extends ApiBaseService {
    /**
     *
     * @summary Add a Network Rule to the given environment
     * @param {number} environmentId The ID of the environment.
     * @param {NetworkRuleEnvironmentCreate} networkRuleEnvironmentCreate A JSON object containing the resource data
     */
    addEnvironmentNetworkRule(environmentId: number, networkRuleEnvironmentCreate: NetworkRuleEnvironmentCreate): Promise<ApiResponse<NetworkRule>>;
    /**
     *
     * @summary Delete a given Network Rule
     * @param {number} networkRuleId The ID of the network rule.
     */
    deleteNetworkRule(networkRuleId: number): Promise<ApiResponse<void>>;
    /**
     *
     * @summary Deploy a Network Rule
     * @param {number} networkRuleId The ID of the network rule.
     * @param {NetworkRuleDeploy} networkRuleDeploy A JSON object containing the resource data
     */
    deployNetworkRule(networkRuleId: number, networkRuleDeploy: NetworkRuleDeploy): Promise<ApiResponse<void>>;
    /**
     *
     * @summary Get a Network Rule by ID
     * @param {number} networkRuleId The ID of the network rule.
     */
    getNetworkRule(networkRuleId: number): Promise<ApiResponse<NetworkRule>>;
    /**
     *
     * @summary Return a list of all Network Rules 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
     */
    listEnvironmentNetworkRules(environmentId: number, page?: number, perPage?: number): Promise<ApiResponse<Array<NetworkRuleRelation>>>;
    /**
     *
     * @summary Update an existing Network Rule
     * @param {number} networkRuleId The ID of the network rule.
     * @param {NetworkRuleUpdate} networkRuleUpdate A JSON object containing the resource data
     */
    updateNetworkRule(networkRuleId: number, networkRuleUpdate: NetworkRuleUpdate): Promise<ApiResponse<void>>;
}
