/**
 * NetworkControllers service.
 * @version 4.0.1
 * @class NetworkControllersApi
 */
export class NetworkControllersApi {
    /**
    * Make the default {@link ApiClient} class available for developers to be able to extend it and bring
    * their own fetch methods into the SDK
    */
    static get ApiClient(): typeof ApiClient;
    /**
     * Constructs a new NetworkControllersApi.
     * @alias module:api/NetworkControllersApi
     * @class
     * @param {module:ApiClient} [apiClient] Optional API client implementation to use,
     * default to {@link module:ApiClient#instance} if unspecified.
     */
    constructor(apiClient?: any);
    apiClient: any;
    /**
     * Create a network controller
     * Create a network controller. For large Prism Centrals, an additional 3GB of memory and 3 vCPUs are required, for each Prism Central node. For small Prism Centrals, an additional 1GB of memory and 1 vCPU is required, for each Prism Central node.
     * @param { Partial<NetworkController> } body specification
     * @param {Object} args Additional Arguments
     * @return {Promise<ConfigTaskReferenceApiResponse>} a {@link https://www.promisejs.org/|Promise}, with an object containing data of type {@link ConfigTaskReferenceApiResponse } and HTTP response
     */
    createNetworkController(body: Partial<NetworkController>, ...args: any): Promise<ConfigTaskReferenceApiResponse>;
    /**
     * Delete a network controller
     * Delete a network controller.
     * @param { String } extId The UUID of the network controller
     * @param {Object} args Additional Arguments
     * @return {Promise<ConfigTaskReferenceApiResponse>} a {@link https://www.promisejs.org/|Promise}, with an object containing data of type {@link ConfigTaskReferenceApiResponse } and HTTP response
     */
    deleteNetworkControllerById(extId: string, ...args: any): Promise<ConfigTaskReferenceApiResponse>;
    /**
     * Get the network controller with the specified UUID
     * Get the network controller with the specified UUID.
     * @param { String } extId The UUID of the network controller
     * @param {Object} args Additional Arguments
     * @return {Promise<GetNetworkControllerApiResponse>} a {@link https://www.promisejs.org/|Promise}, with an object containing data of type {@link GetNetworkControllerApiResponse } and HTTP response
     */
    getNetworkControllerById(extId: string, ...args: any): Promise<GetNetworkControllerApiResponse>;
    /**
     * Gets the list of existing network controllers
     * Gets the list of existing network controllers.
     * @param {Object} opts Optional parameters defined for the operation
     * @param { Number } opts.$page A URL query parameter that specifies the page number of the result set. It must be a positive integer between 0 and the maximum number of pages that are available for that resource. Any number out of this range might lead to no results.

     * @param { Number } opts.$limit A URL query parameter that specifies the total number of records returned in the result set.  Must be a positive integer between 1 and 100. Any number out of this range will lead to a validation error. If the limit is not provided, a default value of 50 records will be returned in the result set.

     * @param {Object} args Additional Arguments
     * @return {Promise<ListNetworkControllersApiResponse>} a {@link https://www.promisejs.org/|Promise}, with an object containing data of type {@link ListNetworkControllersApiResponse } and HTTP response
     */
    listNetworkControllers(opts: {
        $page: number;
        $limit: number;
    }, ...args: any): Promise<ListNetworkControllersApiResponse>;
    /**
     * Update a network controller summary
     * Update a network controller.
     * @param { Partial<NetworkController> } body specification
     * @param { String } extId The UUID of the network controller
     * @param {Object} args Additional Arguments
     * @return {Promise<ConfigTaskReferenceApiResponse>} a {@link https://www.promisejs.org/|Promise}, with an object containing data of type {@link ConfigTaskReferenceApiResponse } and HTTP response
     */
    updateNetworkControllerById(extId: string, body: Partial<NetworkController>, ...args: any): Promise<ConfigTaskReferenceApiResponse>;
    #private;
}
import NetworkController from "../models/networking/v4/config/NetworkController";
import ConfigTaskReferenceApiResponse from "../models/networking/v4/config/TaskReferenceApiResponse";
import GetNetworkControllerApiResponse from "../models/networking/v4/config/GetNetworkControllerApiResponse";
import ListNetworkControllersApiResponse from "../models/networking/v4/config/ListNetworkControllersApiResponse";
import { ApiClient } from "../ApiClient";
