/**
 * Elastic Metal - Private Networks API
 * Private Networks, allow to facilitate the interconnection of resources via a dedicated, private, and flexible L2 network.  This documentation describes the usage of the Private Network feature on Elastic Metal servers.  You have the flexibility to add multiple servers to your Private Networks and can connect up to eight (8) distinct networks per server, in the form of additional network interfaces within the server (VLANs). With this feature, you can isolate services from the public internet and expose them to the rest of your infrastructure without concern about public network filtering.  Servers can be added or removed from a Private Network at any time, even while running. The network interface will be hot-plugged into the server, and software can be configured to set it up automatically as soon as it appears.  (switchcolumn) <Message type=\"important\"> This documentation refers to Private Networks for Elastic Metal servers. If you are looking for information for Private Networks on other products, refer to our [VPC API documentation](/api/vpc/). </Message> (switchcolumn) ## Concepts  Refer to our [dedicated concepts page](https://www.scaleway.com/en/docs/elastic-metal/concepts/) to find definitions of all concepts and terminology related to Elastic Metal servers.  ## Quickstart  (switchcolumn) (switchcolumn)  1. Configure your environment variables.     ```bash     export SCW_SECRET_KEY=\"<API secret key>\"     export SCW_DEFAULT_ZONE=\"<Scaleway Availability Zone>\"     export SCW_PROJECT_ID=\"<Scaleway Project ID>\"     ```     <Message type=\"tip\">     This is an optional step that seeks to simplify your usage of the Private Networks API. See [Availability Zones](#availability-zones) below for help choosing an Availability Zone. You can find your Project ID in the [Scaleway console](https://console.scaleway.com/project/settings).     </Message>  2. Create a [Private Network for your Elastic Metal server](https://www.scaleway.com/en/developers/api/vpc/).  3. Add a server to the Private Network.     ```bash     curl -s -H \"Content-Type: application/json\" \\         -H \"X-Auth-Token: $SECRET_KEY\" \\         https://api.scaleway.com/baremetal/v1/zones/$SCW_DEFAULT_ZONE/servers/$EM_SERVER_ID/private-networks \\         -d \'{\"private_network_id\": \"\'$PN_ID\'\"}\'     ```     <Message type=\"note\">     Keep the `vlan` field from the response. It is your VLAN ID, and will be used     to configure the server to handle traffic from and to the Private Network.     </Message>  4. Connect to your Elastic Metal server and use the following command to configure your Private Network interface\"     ```bash     sudo ip link add link eno1 name eno1.$VLAN type vlan id $VLAN     sudo ip link set eno1.$VLAN up     sudo ip addr add 192.168.0.10/24 dev eno1.$VLAN     ```  (switchcolumn) <Message type=\"requirement\"> To perform the following steps, you must first ensure that:     - You have a [Scaleway account](https://console.scaleway.com/)    - You have created an [API key](https://www.scaleway.com/en/docs/iam/how-to/create-api-keys/) and that the API key has sufficient [IAM permissions](https://www.scaleway.com/en/docs/iam/reference-content/permission-sets/) to perform the actions described on this page    - You have [installed `curl`](https://curl.se/download.html) </Message> (switchcolumn) ## Technical information  ### Pagination  Most listing requests receive a paginated response. Requests against paginated endpoints accept two `query` arguments:  - `page`, a positive integer to choose which page to return. - `page_size`, a positive integer lower or equal to 100 to select the number of items to return per page. The default value is `20`.  Paginated endpoints usually also accept filters to search and sort results. These filters are documented along each endpoint documentation.  ### Availability Zones  Private Networks for Elastic Metal servers can be deployed in the following Availability Zones:  | Name      | API ID                           | |-----------|----------------------------------| | Paris     | `fr-par-1` `fr-par-2`            | | Amsterdam | `nl-ams-1` `nl-ams-2`            | | Warsaw    | `pl-waw-2` `pl-waw-3`            |  ## Technical limitations  - You need to configure a VLAN manually, using the Elastic Metal server interface - The bandwidth is limited to 1Gbps inside the Private Network - You can configure up to 8 Private Networks per server - Broadcast and multicast traffic, while supported, are rate-limited  ## Going further  For more help using Private Networks on Elastic Metal servers, check out the following resources: - Our [main documentation](https://www.scaleway.com/en/docs/elastic-metal/how-to/use-private-networks/) - The #private-networks channel on our [Slack Community](https://www.scaleway.com/en/docs/tutorials/scaleway-slack-community/) - Our [support ticketing system](https://www.scaleway.com/en/docs/account/how-to/open-a-support-ticket/).
 *
 * The version of the OpenAPI document: v3
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import type { Configuration } from './configuration';
import type { RequestArgs } from './base';
import type { AxiosInstance, AxiosResponse } from 'axios';
/**
 *
 * @export
 */
export declare const DUMMY_BASE_URL = "https://example.com";
/**
 *
 * @throws {RequiredError}
 * @export
 */
export declare const assertParamExists: (functionName: string, paramName: string, paramValue: unknown) => void;
/**
 *
 * @export
 */
export declare const setApiKeyToObject: (object: any, keyParamName: string, configuration?: Configuration) => Promise<void>;
/**
 *
 * @export
 */
export declare const setBasicAuthToObject: (object: any, configuration?: Configuration) => void;
/**
 *
 * @export
 */
export declare const setBearerAuthToObject: (object: any, configuration?: Configuration) => Promise<void>;
/**
 *
 * @export
 */
export declare const setOAuthToObject: (object: any, name: string, scopes: string[], configuration?: Configuration) => Promise<void>;
/**
 *
 * @export
 */
export declare const setSearchParams: (url: URL, ...objects: any[]) => void;
/**
 *
 * @export
 */
export declare const serializeDataIfNeeded: (value: any, requestOptions: any, configuration?: Configuration) => any;
/**
 *
 * @export
 */
export declare const toPathString: (url: URL) => string;
/**
 *
 * @export
 */
export declare const createRequestFunction: (axiosArgs: RequestArgs, globalAxios: AxiosInstance, BASE_PATH: string, configuration?: Configuration) => <T = unknown, R = AxiosResponse<T>>(axios?: AxiosInstance, basePath?: string) => Promise<R>;
