"use strict";
/* tslint:disable */
/* eslint-disable */
/**
 * Fireblocks API
 * Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain.  - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com)
 *
 * The version of the OpenAPI document: 1.6.2
 * Contact: developers@fireblocks.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
var __extends = (this && this.__extends) || (function () {
    var extendStatics = function (d, b) {
        extendStatics = Object.setPrototypeOf ||
            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
        return extendStatics(d, b);
    };
    return function (d, b) {
        if (typeof b !== "function" && b !== null)
            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
        extendStatics(d, b);
        function __() { this.constructor = d; }
        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
    };
})();
var __assign = (this && this.__assign) || function () {
    __assign = Object.assign || function(t) {
        for (var s, i = 1, n = arguments.length; i < n; i++) {
            s = arguments[i];
            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
                t[p] = s[p];
        }
        return t;
    };
    return __assign.apply(this, arguments);
};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
    return new (P || (P = Promise))(function (resolve, reject) {
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
    });
};
var __generator = (this && this.__generator) || function (thisArg, body) {
    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
    function verb(n) { return function (v) { return step([n, v]); }; }
    function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (g && (g = 0, op[0] && (_ = 0)), _) try {
            if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
            if (y = 0, t) op = [op[0] & 2, t.value];
            switch (op[0]) {
                case 0: case 1: t = op; break;
                case 4: _.label++; return { value: op[1], done: false };
                case 5: _.label++; y = op[1]; op = [0]; continue;
                case 7: op = _.ops.pop(); _.trys.pop(); continue;
                default:
                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
                    if (t[2]) _.ops.pop();
                    _.trys.pop(); continue;
            }
            op = body.call(thisArg, _);
        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
    }
};
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.NetworkConnectionsApi = exports.NetworkConnectionsApiFactory = exports.NetworkConnectionsApiFp = exports.NetworkConnectionsApiAxiosParamCreator = void 0;
var axios_1 = __importDefault(require("axios"));
var fireblocksResponse_1 = require("../response/fireblocksResponse");
// URLSearchParams not necessarily used
// @ts-ignore
var url_1 = require("url");
// Some imports not used depending on template conditions
// @ts-ignore
var common_1 = require("../common");
var validation_utils_1 = require("../utils/validation_utils");
// @ts-ignore
var base_1 = require("../base");
/**
 * NetworkConnectionsApi - axios parameter creator
 * @export
 */
var NetworkConnectionsApiAxiosParamCreator = function (configuration) {
    var _this = this;
    return {
        /**
         * The Fireblocks Network allows for flexibility around incoming deposits. A receiver can receive network deposits to locations other than Fireblocks. This endpoint validates whether future transactions are routed to the displayed recipient or to a 3rd party.
         * @summary Retrieve third-party network routing validation
         * @param {string} connectionId The ID of the network connection
         * @param {string} assetType The destination asset type
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        checkThirdPartyRouting: function (connectionId, assetType, options) {
            if (options === void 0) { options = {}; }
            return __awaiter(_this, void 0, void 0, function () {
                var localVarPath, localVarUrlObj, baseOptions, localVarRequestOptions, localVarHeaderParameter, localVarQueryParameter, headersFromBaseOptions;
                return __generator(this, function (_a) {
                    (0, validation_utils_1.assertParamExistsAndNotEmpty)('checkThirdPartyRouting', 'connectionId', connectionId);
                    (0, validation_utils_1.assertParamExistsAndNotEmpty)('checkThirdPartyRouting', 'assetType', assetType);
                    localVarPath = "/network_connections/{connectionId}/is_third_party_routing/{assetType}"
                        .replace("{".concat("connectionId", "}"), encodeURIComponent(String(connectionId)))
                        .replace("{".concat("assetType", "}"), encodeURIComponent(String(assetType)));
                    localVarUrlObj = new url_1.URL(localVarPath, common_1.DUMMY_BASE_URL);
                    if (configuration) {
                        baseOptions = configuration.baseOptions;
                    }
                    localVarRequestOptions = __assign(__assign({ method: 'GET' }, baseOptions), options);
                    localVarHeaderParameter = {};
                    localVarQueryParameter = {};
                    (0, common_1.setSearchParams)(localVarUrlObj, localVarQueryParameter);
                    headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                    localVarRequestOptions.headers = __assign(__assign(__assign({}, localVarHeaderParameter), headersFromBaseOptions), options.headers);
                    return [2 /*return*/, {
                            url: (0, common_1.toPathString)(localVarUrlObj),
                            options: localVarRequestOptions,
                        }];
                });
            });
        },
        /**
         * Initiates a new network connection. **Note:** This API call is subject to Flexible Routing Schemes.  Your routing policy defines how your transactions are routed. You can choose 1 of the 3 different schemes mentioned below for each asset type:   - **None**; Defines the profile routing to no destination for that asset type. Incoming transactions to asset types routed to `None` will fail.   - **Custom**; Route to an account that you choose. If you remove the account, incoming transactions will fail until you choose another one.   - **Default**; Use the routing specified by the network profile the connection is connected to. This scheme is also referred to as \"Profile Routing\"  Default Workspace Presets:   - Network Profile Crypto → **Custom**   - Network Profile FIAT → **None**   - Network Connection Crypto → **Default**   - Network Connection FIAT → **Default**  Supported asset groups for routing police can be found at `/network_ids/routing_policy_asset_groups`      - **Note**: By default, Custom routing scheme uses (`dstId` = `0`, `dstType` = `VAULT`).
         * @summary Create a new network connection
         * @param {NetworkConnection} [networkConnection]
         * @param {string} [idempotencyKey] A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createNetworkConnection: function (networkConnection, idempotencyKey, options) {
            if (options === void 0) { options = {}; }
            return __awaiter(_this, void 0, void 0, function () {
                var localVarPath, localVarUrlObj, baseOptions, localVarRequestOptions, localVarHeaderParameter, localVarQueryParameter, headersFromBaseOptions;
                return __generator(this, function (_a) {
                    localVarPath = "/network_connections";
                    localVarUrlObj = new url_1.URL(localVarPath, common_1.DUMMY_BASE_URL);
                    if (configuration) {
                        baseOptions = configuration.baseOptions;
                    }
                    localVarRequestOptions = __assign(__assign({ method: 'POST' }, baseOptions), options);
                    localVarHeaderParameter = {};
                    localVarQueryParameter = {};
                    if (idempotencyKey != null) {
                        localVarHeaderParameter['Idempotency-Key'] = String(idempotencyKey);
                    }
                    localVarHeaderParameter['Content-Type'] = 'application/json';
                    (0, common_1.setSearchParams)(localVarUrlObj, localVarQueryParameter);
                    headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                    localVarRequestOptions.headers = __assign(__assign(__assign({}, localVarHeaderParameter), headersFromBaseOptions), options.headers);
                    localVarRequestOptions.data = (0, common_1.serializeDataIfNeeded)(networkConnection, localVarRequestOptions, configuration);
                    return [2 /*return*/, {
                            url: (0, common_1.toPathString)(localVarUrlObj),
                            options: localVarRequestOptions,
                        }];
                });
            });
        },
        /**
         * Create a new Network ID.
         * @summary Creates a new Network ID
         * @param {CreateNetworkIdRequest} [createNetworkIdRequest]
         * @param {string} [idempotencyKey] A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createNetworkId: function (createNetworkIdRequest, idempotencyKey, options) {
            if (options === void 0) { options = {}; }
            return __awaiter(_this, void 0, void 0, function () {
                var localVarPath, localVarUrlObj, baseOptions, localVarRequestOptions, localVarHeaderParameter, localVarQueryParameter, headersFromBaseOptions;
                return __generator(this, function (_a) {
                    localVarPath = "/network_ids";
                    localVarUrlObj = new url_1.URL(localVarPath, common_1.DUMMY_BASE_URL);
                    if (configuration) {
                        baseOptions = configuration.baseOptions;
                    }
                    localVarRequestOptions = __assign(__assign({ method: 'POST' }, baseOptions), options);
                    localVarHeaderParameter = {};
                    localVarQueryParameter = {};
                    if (idempotencyKey != null) {
                        localVarHeaderParameter['Idempotency-Key'] = String(idempotencyKey);
                    }
                    localVarHeaderParameter['Content-Type'] = 'application/json';
                    (0, common_1.setSearchParams)(localVarUrlObj, localVarQueryParameter);
                    headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                    localVarRequestOptions.headers = __assign(__assign(__assign({}, localVarHeaderParameter), headersFromBaseOptions), options.headers);
                    localVarRequestOptions.data = (0, common_1.serializeDataIfNeeded)(createNetworkIdRequest, localVarRequestOptions, configuration);
                    return [2 /*return*/, {
                            url: (0, common_1.toPathString)(localVarUrlObj),
                            options: localVarRequestOptions,
                        }];
                });
            });
        },
        /**
         * Deletes an existing network connection specified by its connection ID.
         * @summary Delete a network connection by ID
         * @param {string} connectionId The ID of the network connection to delete
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteNetworkConnection: function (connectionId, options) {
            if (options === void 0) { options = {}; }
            return __awaiter(_this, void 0, void 0, function () {
                var localVarPath, localVarUrlObj, baseOptions, localVarRequestOptions, localVarHeaderParameter, localVarQueryParameter, headersFromBaseOptions;
                return __generator(this, function (_a) {
                    (0, validation_utils_1.assertParamExistsAndNotEmpty)('deleteNetworkConnection', 'connectionId', connectionId);
                    localVarPath = "/network_connections/{connectionId}"
                        .replace("{".concat("connectionId", "}"), encodeURIComponent(String(connectionId)));
                    localVarUrlObj = new url_1.URL(localVarPath, common_1.DUMMY_BASE_URL);
                    if (configuration) {
                        baseOptions = configuration.baseOptions;
                    }
                    localVarRequestOptions = __assign(__assign({ method: 'DELETE' }, baseOptions), options);
                    localVarHeaderParameter = {};
                    localVarQueryParameter = {};
                    (0, common_1.setSearchParams)(localVarUrlObj, localVarQueryParameter);
                    headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                    localVarRequestOptions.headers = __assign(__assign(__assign({}, localVarHeaderParameter), headersFromBaseOptions), options.headers);
                    return [2 /*return*/, {
                            url: (0, common_1.toPathString)(localVarUrlObj),
                            options: localVarRequestOptions,
                        }];
                });
            });
        },
        /**
         * Deletes a network by its ID.
         * @summary Delete specific network ID.
         * @param {string} networkId The ID of the network
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteNetworkId: function (networkId, options) {
            if (options === void 0) { options = {}; }
            return __awaiter(_this, void 0, void 0, function () {
                var localVarPath, localVarUrlObj, baseOptions, localVarRequestOptions, localVarHeaderParameter, localVarQueryParameter, headersFromBaseOptions;
                return __generator(this, function (_a) {
                    (0, validation_utils_1.assertParamExistsAndNotEmpty)('deleteNetworkId', 'networkId', networkId);
                    localVarPath = "/network_ids/{networkId}"
                        .replace("{".concat("networkId", "}"), encodeURIComponent(String(networkId)));
                    localVarUrlObj = new url_1.URL(localVarPath, common_1.DUMMY_BASE_URL);
                    if (configuration) {
                        baseOptions = configuration.baseOptions;
                    }
                    localVarRequestOptions = __assign(__assign({ method: 'DELETE' }, baseOptions), options);
                    localVarHeaderParameter = {};
                    localVarQueryParameter = {};
                    (0, common_1.setSearchParams)(localVarUrlObj, localVarQueryParameter);
                    headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                    localVarRequestOptions.headers = __assign(__assign(__assign({}, localVarHeaderParameter), headersFromBaseOptions), options.headers);
                    return [2 /*return*/, {
                            url: (0, common_1.toPathString)(localVarUrlObj),
                            options: localVarRequestOptions,
                        }];
                });
            });
        },
        /**
         * Gets a network connection by ID.
         * @summary Get a network connection
         * @param {string} connectionId The ID of the connection
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getNetwork: function (connectionId, options) {
            if (options === void 0) { options = {}; }
            return __awaiter(_this, void 0, void 0, function () {
                var localVarPath, localVarUrlObj, baseOptions, localVarRequestOptions, localVarHeaderParameter, localVarQueryParameter, headersFromBaseOptions;
                return __generator(this, function (_a) {
                    (0, validation_utils_1.assertParamExistsAndNotEmpty)('getNetwork', 'connectionId', connectionId);
                    localVarPath = "/network_connections/{connectionId}"
                        .replace("{".concat("connectionId", "}"), encodeURIComponent(String(connectionId)));
                    localVarUrlObj = new url_1.URL(localVarPath, common_1.DUMMY_BASE_URL);
                    if (configuration) {
                        baseOptions = configuration.baseOptions;
                    }
                    localVarRequestOptions = __assign(__assign({ method: 'GET' }, baseOptions), options);
                    localVarHeaderParameter = {};
                    localVarQueryParameter = {};
                    (0, common_1.setSearchParams)(localVarUrlObj, localVarQueryParameter);
                    headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                    localVarRequestOptions.headers = __assign(__assign(__assign({}, localVarHeaderParameter), headersFromBaseOptions), options.headers);
                    return [2 /*return*/, {
                            url: (0, common_1.toPathString)(localVarUrlObj),
                            options: localVarRequestOptions,
                        }];
                });
            });
        },
        /**
         * Returns all network connections.  **Note:** This API call is subject to Flexible Routing Schemes.  Your routing policy defines how your transactions are routed. You can choose 1 of the 3 different schemes mentioned below for each asset type:   - **None**; Defines the profile routing to no destination for that asset type. Incoming transactions to asset types routed to `None` will fail.   - **Custom**; Route to an account that you choose. If you remove the account, incoming transactions will fail until you choose another one.   - **Default**; Use the routing specified by the network profile the connection is connected to. This scheme is also referred to as \"Profile Routing\"  Default Workspace Presets:   - Network Profile Crypto → **Custom**   - Network Profile FIAT → **None**   - Network Connection Crypto → **Default**   - Network Connection FIAT → **Default**
         * @summary List network connections
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getNetworkConnections: function (options) {
            if (options === void 0) { options = {}; }
            return __awaiter(_this, void 0, void 0, function () {
                var localVarPath, localVarUrlObj, baseOptions, localVarRequestOptions, localVarHeaderParameter, localVarQueryParameter, headersFromBaseOptions;
                return __generator(this, function (_a) {
                    localVarPath = "/network_connections";
                    localVarUrlObj = new url_1.URL(localVarPath, common_1.DUMMY_BASE_URL);
                    if (configuration) {
                        baseOptions = configuration.baseOptions;
                    }
                    localVarRequestOptions = __assign(__assign({ method: 'GET' }, baseOptions), options);
                    localVarHeaderParameter = {};
                    localVarQueryParameter = {};
                    (0, common_1.setSearchParams)(localVarUrlObj, localVarQueryParameter);
                    headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                    localVarRequestOptions.headers = __assign(__assign(__assign({}, localVarHeaderParameter), headersFromBaseOptions), options.headers);
                    return [2 /*return*/, {
                            url: (0, common_1.toPathString)(localVarUrlObj),
                            options: localVarRequestOptions,
                        }];
                });
            });
        },
        /**
         * Returns specific network ID.
         * @summary Return specific network ID.
         * @param {string} networkId The ID of the network
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getNetworkId: function (networkId, options) {
            if (options === void 0) { options = {}; }
            return __awaiter(_this, void 0, void 0, function () {
                var localVarPath, localVarUrlObj, baseOptions, localVarRequestOptions, localVarHeaderParameter, localVarQueryParameter, headersFromBaseOptions;
                return __generator(this, function (_a) {
                    (0, validation_utils_1.assertParamExistsAndNotEmpty)('getNetworkId', 'networkId', networkId);
                    localVarPath = "/network_ids/{networkId}"
                        .replace("{".concat("networkId", "}"), encodeURIComponent(String(networkId)));
                    localVarUrlObj = new url_1.URL(localVarPath, common_1.DUMMY_BASE_URL);
                    if (configuration) {
                        baseOptions = configuration.baseOptions;
                    }
                    localVarRequestOptions = __assign(__assign({ method: 'GET' }, baseOptions), options);
                    localVarHeaderParameter = {};
                    localVarQueryParameter = {};
                    (0, common_1.setSearchParams)(localVarUrlObj, localVarQueryParameter);
                    headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                    localVarRequestOptions.headers = __assign(__assign(__assign({}, localVarHeaderParameter), headersFromBaseOptions), options.headers);
                    return [2 /*return*/, {
                            url: (0, common_1.toPathString)(localVarUrlObj),
                            options: localVarRequestOptions,
                        }];
                });
            });
        },
        /**
         * Retrieves a list of all local and discoverable remote network IDs.
         * @summary Get all network IDs
         * @param {*} [options] Override http request option.
         * @deprecated
         * @throws {RequiredError}
         */
        getNetworkIds: function (options) {
            if (options === void 0) { options = {}; }
            return __awaiter(_this, void 0, void 0, function () {
                var localVarPath, localVarUrlObj, baseOptions, localVarRequestOptions, localVarHeaderParameter, localVarQueryParameter, headersFromBaseOptions;
                return __generator(this, function (_a) {
                    localVarPath = "/network_ids";
                    localVarUrlObj = new url_1.URL(localVarPath, common_1.DUMMY_BASE_URL);
                    if (configuration) {
                        baseOptions = configuration.baseOptions;
                    }
                    localVarRequestOptions = __assign(__assign({ method: 'GET' }, baseOptions), options);
                    localVarHeaderParameter = {};
                    localVarQueryParameter = {};
                    (0, common_1.setSearchParams)(localVarUrlObj, localVarQueryParameter);
                    headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                    localVarRequestOptions.headers = __assign(__assign(__assign({}, localVarHeaderParameter), headersFromBaseOptions), options.headers);
                    return [2 /*return*/, {
                            url: (0, common_1.toPathString)(localVarUrlObj),
                            options: localVarRequestOptions,
                        }];
                });
            });
        },
        /**
         * Returns all enabled routing policy asset groups
         * @summary Return all enabled routing policy asset groups
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getRoutingPolicyAssetGroups: function (options) {
            if (options === void 0) { options = {}; }
            return __awaiter(_this, void 0, void 0, function () {
                var localVarPath, localVarUrlObj, baseOptions, localVarRequestOptions, localVarHeaderParameter, localVarQueryParameter, headersFromBaseOptions;
                return __generator(this, function (_a) {
                    localVarPath = "/network_ids/routing_policy_asset_groups";
                    localVarUrlObj = new url_1.URL(localVarPath, common_1.DUMMY_BASE_URL);
                    if (configuration) {
                        baseOptions = configuration.baseOptions;
                    }
                    localVarRequestOptions = __assign(__assign({ method: 'GET' }, baseOptions), options);
                    localVarHeaderParameter = {};
                    localVarQueryParameter = {};
                    (0, common_1.setSearchParams)(localVarUrlObj, localVarQueryParameter);
                    headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                    localVarRequestOptions.headers = __assign(__assign(__assign({}, localVarHeaderParameter), headersFromBaseOptions), options.headers);
                    return [2 /*return*/, {
                            url: (0, common_1.toPathString)(localVarUrlObj),
                            options: localVarRequestOptions,
                        }];
                });
            });
        },
        /**
         * Retrieves a list of all local and discoverable remote network IDs. Can be filtered.
         * @summary Get both local IDs and discoverable remote IDs
         * @param {string} [search] Search string - displayName networkId. Optional
         * @param {boolean} [excludeSelf] Exclude your networkIds. Optional, default false
         * @param {boolean} [onlySelf] Include just your networkIds. Optional, default false
         * @param {boolean} [excludeConnected] Exclude connected networkIds. Optional, default false
         * @param {string} [pageCursor] ID of the record after which to fetch $limit records
         * @param {number} [pageSize] Number of records to fetch. By default, it is 50
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchNetworkIds: function (search, excludeSelf, onlySelf, excludeConnected, pageCursor, pageSize, options) {
            if (options === void 0) { options = {}; }
            return __awaiter(_this, void 0, void 0, function () {
                var localVarPath, localVarUrlObj, baseOptions, localVarRequestOptions, localVarHeaderParameter, localVarQueryParameter, headersFromBaseOptions;
                return __generator(this, function (_a) {
                    localVarPath = "/network_ids/search";
                    localVarUrlObj = new url_1.URL(localVarPath, common_1.DUMMY_BASE_URL);
                    if (configuration) {
                        baseOptions = configuration.baseOptions;
                    }
                    localVarRequestOptions = __assign(__assign({ method: 'GET' }, baseOptions), options);
                    localVarHeaderParameter = {};
                    localVarQueryParameter = {};
                    if (search !== undefined) {
                        localVarQueryParameter['search'] = search;
                    }
                    if (excludeSelf !== undefined) {
                        localVarQueryParameter['excludeSelf'] = excludeSelf;
                    }
                    if (onlySelf !== undefined) {
                        localVarQueryParameter['onlySelf'] = onlySelf;
                    }
                    if (excludeConnected !== undefined) {
                        localVarQueryParameter['excludeConnected'] = excludeConnected;
                    }
                    if (pageCursor !== undefined) {
                        localVarQueryParameter['pageCursor'] = pageCursor;
                    }
                    if (pageSize !== undefined) {
                        localVarQueryParameter['pageSize'] = pageSize;
                    }
                    (0, common_1.setSearchParams)(localVarUrlObj, localVarQueryParameter);
                    headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                    localVarRequestOptions.headers = __assign(__assign(__assign({}, localVarHeaderParameter), headersFromBaseOptions), options.headers);
                    return [2 /*return*/, {
                            url: (0, common_1.toPathString)(localVarUrlObj),
                            options: localVarRequestOptions,
                        }];
                });
            });
        },
        /**
         * Update whether or not the network ID is discoverable by others.
         * @summary Update network ID\'s discoverability.
         * @param {SetNetworkIdDiscoverabilityRequest} setNetworkIdDiscoverabilityRequest
         * @param {string} networkId The ID of the network
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        setNetworkIdDiscoverability: function (setNetworkIdDiscoverabilityRequest, networkId, options) {
            if (options === void 0) { options = {}; }
            return __awaiter(_this, void 0, void 0, function () {
                var localVarPath, localVarUrlObj, baseOptions, localVarRequestOptions, localVarHeaderParameter, localVarQueryParameter, headersFromBaseOptions;
                return __generator(this, function (_a) {
                    (0, common_1.assertParamExists)('setNetworkIdDiscoverability', 'setNetworkIdDiscoverabilityRequest', setNetworkIdDiscoverabilityRequest);
                    (0, validation_utils_1.assertParamExistsAndNotEmpty)('setNetworkIdDiscoverability', 'networkId', networkId);
                    localVarPath = "/network_ids/{networkId}/set_discoverability"
                        .replace("{".concat("networkId", "}"), encodeURIComponent(String(networkId)));
                    localVarUrlObj = new url_1.URL(localVarPath, common_1.DUMMY_BASE_URL);
                    if (configuration) {
                        baseOptions = configuration.baseOptions;
                    }
                    localVarRequestOptions = __assign(__assign({ method: 'PATCH' }, baseOptions), options);
                    localVarHeaderParameter = {};
                    localVarQueryParameter = {};
                    localVarHeaderParameter['Content-Type'] = 'application/json';
                    (0, common_1.setSearchParams)(localVarUrlObj, localVarQueryParameter);
                    headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                    localVarRequestOptions.headers = __assign(__assign(__assign({}, localVarHeaderParameter), headersFromBaseOptions), options.headers);
                    localVarRequestOptions.data = (0, common_1.serializeDataIfNeeded)(setNetworkIdDiscoverabilityRequest, localVarRequestOptions, configuration);
                    return [2 /*return*/, {
                            url: (0, common_1.toPathString)(localVarUrlObj),
                            options: localVarRequestOptions,
                        }];
                });
            });
        },
        /**
         * Updates name of a specified network ID.
         * @summary Update network ID\'s name.
         * @param {SetNetworkIdNameRequest} setNetworkIdNameRequest
         * @param {string} networkId The ID of the network
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        setNetworkIdName: function (setNetworkIdNameRequest, networkId, options) {
            if (options === void 0) { options = {}; }
            return __awaiter(_this, void 0, void 0, function () {
                var localVarPath, localVarUrlObj, baseOptions, localVarRequestOptions, localVarHeaderParameter, localVarQueryParameter, headersFromBaseOptions;
                return __generator(this, function (_a) {
                    (0, common_1.assertParamExists)('setNetworkIdName', 'setNetworkIdNameRequest', setNetworkIdNameRequest);
                    (0, validation_utils_1.assertParamExistsAndNotEmpty)('setNetworkIdName', 'networkId', networkId);
                    localVarPath = "/network_ids/{networkId}/set_name"
                        .replace("{".concat("networkId", "}"), encodeURIComponent(String(networkId)));
                    localVarUrlObj = new url_1.URL(localVarPath, common_1.DUMMY_BASE_URL);
                    if (configuration) {
                        baseOptions = configuration.baseOptions;
                    }
                    localVarRequestOptions = __assign(__assign({ method: 'PATCH' }, baseOptions), options);
                    localVarHeaderParameter = {};
                    localVarQueryParameter = {};
                    localVarHeaderParameter['Content-Type'] = 'application/json';
                    (0, common_1.setSearchParams)(localVarUrlObj, localVarQueryParameter);
                    headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                    localVarRequestOptions.headers = __assign(__assign(__assign({}, localVarHeaderParameter), headersFromBaseOptions), options.headers);
                    localVarRequestOptions.data = (0, common_1.serializeDataIfNeeded)(setNetworkIdNameRequest, localVarRequestOptions, configuration);
                    return [2 /*return*/, {
                            url: (0, common_1.toPathString)(localVarUrlObj),
                            options: localVarRequestOptions,
                        }];
                });
            });
        },
        /**
         * Updates the routing policy of a specified network ID.
         * @summary Update network id routing policy.
         * @param {string} networkId The ID of the network
         * @param {SetNetworkIdRoutingPolicyRequest} [setNetworkIdRoutingPolicyRequest]
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        setNetworkIdRoutingPolicy: function (networkId, setNetworkIdRoutingPolicyRequest, options) {
            if (options === void 0) { options = {}; }
            return __awaiter(_this, void 0, void 0, function () {
                var localVarPath, localVarUrlObj, baseOptions, localVarRequestOptions, localVarHeaderParameter, localVarQueryParameter, headersFromBaseOptions;
                return __generator(this, function (_a) {
                    (0, validation_utils_1.assertParamExistsAndNotEmpty)('setNetworkIdRoutingPolicy', 'networkId', networkId);
                    localVarPath = "/network_ids/{networkId}/set_routing_policy"
                        .replace("{".concat("networkId", "}"), encodeURIComponent(String(networkId)));
                    localVarUrlObj = new url_1.URL(localVarPath, common_1.DUMMY_BASE_URL);
                    if (configuration) {
                        baseOptions = configuration.baseOptions;
                    }
                    localVarRequestOptions = __assign(__assign({ method: 'PATCH' }, baseOptions), options);
                    localVarHeaderParameter = {};
                    localVarQueryParameter = {};
                    localVarHeaderParameter['Content-Type'] = 'application/json';
                    (0, common_1.setSearchParams)(localVarUrlObj, localVarQueryParameter);
                    headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                    localVarRequestOptions.headers = __assign(__assign(__assign({}, localVarHeaderParameter), headersFromBaseOptions), options.headers);
                    localVarRequestOptions.data = (0, common_1.serializeDataIfNeeded)(setNetworkIdRoutingPolicyRequest, localVarRequestOptions, configuration);
                    return [2 /*return*/, {
                            url: (0, common_1.toPathString)(localVarUrlObj),
                            options: localVarRequestOptions,
                        }];
                });
            });
        },
        /**
         * Updates an existing network connection\'s routing policy.
         * @summary Update network connection routing policy.
         * @param {string} connectionId The ID of the network connection
         * @param {SetRoutingPolicyRequest} [setRoutingPolicyRequest]
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        setRoutingPolicy: function (connectionId, setRoutingPolicyRequest, options) {
            if (options === void 0) { options = {}; }
            return __awaiter(_this, void 0, void 0, function () {
                var localVarPath, localVarUrlObj, baseOptions, localVarRequestOptions, localVarHeaderParameter, localVarQueryParameter, headersFromBaseOptions;
                return __generator(this, function (_a) {
                    (0, validation_utils_1.assertParamExistsAndNotEmpty)('setRoutingPolicy', 'connectionId', connectionId);
                    localVarPath = "/network_connections/{connectionId}/set_routing_policy"
                        .replace("{".concat("connectionId", "}"), encodeURIComponent(String(connectionId)));
                    localVarUrlObj = new url_1.URL(localVarPath, common_1.DUMMY_BASE_URL);
                    if (configuration) {
                        baseOptions = configuration.baseOptions;
                    }
                    localVarRequestOptions = __assign(__assign({ method: 'PATCH' }, baseOptions), options);
                    localVarHeaderParameter = {};
                    localVarQueryParameter = {};
                    localVarHeaderParameter['Content-Type'] = 'application/json';
                    (0, common_1.setSearchParams)(localVarUrlObj, localVarQueryParameter);
                    headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                    localVarRequestOptions.headers = __assign(__assign(__assign({}, localVarHeaderParameter), headersFromBaseOptions), options.headers);
                    localVarRequestOptions.data = (0, common_1.serializeDataIfNeeded)(setRoutingPolicyRequest, localVarRequestOptions, configuration);
                    return [2 /*return*/, {
                            url: (0, common_1.toPathString)(localVarUrlObj),
                            options: localVarRequestOptions,
                        }];
                });
            });
        },
    };
};
exports.NetworkConnectionsApiAxiosParamCreator = NetworkConnectionsApiAxiosParamCreator;
/**
 * NetworkConnectionsApi - functional programming interface
 * @export
 */
var NetworkConnectionsApiFp = function (configuration) {
    var localVarAxiosParamCreator = (0, exports.NetworkConnectionsApiAxiosParamCreator)(configuration);
    return {
        /**
         * The Fireblocks Network allows for flexibility around incoming deposits. A receiver can receive network deposits to locations other than Fireblocks. This endpoint validates whether future transactions are routed to the displayed recipient or to a 3rd party.
         * @summary Retrieve third-party network routing validation
         * @param {string} connectionId The ID of the network connection
         * @param {string} assetType The destination asset type
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        checkThirdPartyRouting: function (connectionId, assetType, options) {
            var _a, _b, _c;
            return __awaiter(this, void 0, void 0, function () {
                var localVarAxiosArgs, index, operationBasePath;
                return __generator(this, function (_d) {
                    switch (_d.label) {
                        case 0: return [4 /*yield*/, localVarAxiosParamCreator.checkThirdPartyRouting(connectionId, assetType, options)];
                        case 1:
                            localVarAxiosArgs = _d.sent();
                            index = (_a = configuration === null || configuration === void 0 ? void 0 : configuration.serverIndex) !== null && _a !== void 0 ? _a : 0;
                            operationBasePath = (_c = (_b = base_1.operationServerMap['NetworkConnectionsApi.checkThirdPartyRouting']) === null || _b === void 0 ? void 0 : _b[index]) === null || _c === void 0 ? void 0 : _c.url;
                            return [2 /*return*/, function (axios, basePath) { return (0, common_1.createRequestFunction)(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration)(axios, operationBasePath || basePath); }];
                    }
                });
            });
        },
        /**
         * Initiates a new network connection. **Note:** This API call is subject to Flexible Routing Schemes.  Your routing policy defines how your transactions are routed. You can choose 1 of the 3 different schemes mentioned below for each asset type:   - **None**; Defines the profile routing to no destination for that asset type. Incoming transactions to asset types routed to `None` will fail.   - **Custom**; Route to an account that you choose. If you remove the account, incoming transactions will fail until you choose another one.   - **Default**; Use the routing specified by the network profile the connection is connected to. This scheme is also referred to as \"Profile Routing\"  Default Workspace Presets:   - Network Profile Crypto → **Custom**   - Network Profile FIAT → **None**   - Network Connection Crypto → **Default**   - Network Connection FIAT → **Default**  Supported asset groups for routing police can be found at `/network_ids/routing_policy_asset_groups`      - **Note**: By default, Custom routing scheme uses (`dstId` = `0`, `dstType` = `VAULT`).
         * @summary Create a new network connection
         * @param {NetworkConnection} [networkConnection]
         * @param {string} [idempotencyKey] A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createNetworkConnection: function (networkConnection, idempotencyKey, options) {
            var _a, _b, _c;
            return __awaiter(this, void 0, void 0, function () {
                var localVarAxiosArgs, index, operationBasePath;
                return __generator(this, function (_d) {
                    switch (_d.label) {
                        case 0: return [4 /*yield*/, localVarAxiosParamCreator.createNetworkConnection(networkConnection, idempotencyKey, options)];
                        case 1:
                            localVarAxiosArgs = _d.sent();
                            index = (_a = configuration === null || configuration === void 0 ? void 0 : configuration.serverIndex) !== null && _a !== void 0 ? _a : 0;
                            operationBasePath = (_c = (_b = base_1.operationServerMap['NetworkConnectionsApi.createNetworkConnection']) === null || _b === void 0 ? void 0 : _b[index]) === null || _c === void 0 ? void 0 : _c.url;
                            return [2 /*return*/, function (axios, basePath) { return (0, common_1.createRequestFunction)(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration)(axios, operationBasePath || basePath); }];
                    }
                });
            });
        },
        /**
         * Create a new Network ID.
         * @summary Creates a new Network ID
         * @param {CreateNetworkIdRequest} [createNetworkIdRequest]
         * @param {string} [idempotencyKey] A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createNetworkId: function (createNetworkIdRequest, idempotencyKey, options) {
            var _a, _b, _c;
            return __awaiter(this, void 0, void 0, function () {
                var localVarAxiosArgs, index, operationBasePath;
                return __generator(this, function (_d) {
                    switch (_d.label) {
                        case 0: return [4 /*yield*/, localVarAxiosParamCreator.createNetworkId(createNetworkIdRequest, idempotencyKey, options)];
                        case 1:
                            localVarAxiosArgs = _d.sent();
                            index = (_a = configuration === null || configuration === void 0 ? void 0 : configuration.serverIndex) !== null && _a !== void 0 ? _a : 0;
                            operationBasePath = (_c = (_b = base_1.operationServerMap['NetworkConnectionsApi.createNetworkId']) === null || _b === void 0 ? void 0 : _b[index]) === null || _c === void 0 ? void 0 : _c.url;
                            return [2 /*return*/, function (axios, basePath) { return (0, common_1.createRequestFunction)(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration)(axios, operationBasePath || basePath); }];
                    }
                });
            });
        },
        /**
         * Deletes an existing network connection specified by its connection ID.
         * @summary Delete a network connection by ID
         * @param {string} connectionId The ID of the network connection to delete
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteNetworkConnection: function (connectionId, options) {
            var _a, _b, _c;
            return __awaiter(this, void 0, void 0, function () {
                var localVarAxiosArgs, index, operationBasePath;
                return __generator(this, function (_d) {
                    switch (_d.label) {
                        case 0: return [4 /*yield*/, localVarAxiosParamCreator.deleteNetworkConnection(connectionId, options)];
                        case 1:
                            localVarAxiosArgs = _d.sent();
                            index = (_a = configuration === null || configuration === void 0 ? void 0 : configuration.serverIndex) !== null && _a !== void 0 ? _a : 0;
                            operationBasePath = (_c = (_b = base_1.operationServerMap['NetworkConnectionsApi.deleteNetworkConnection']) === null || _b === void 0 ? void 0 : _b[index]) === null || _c === void 0 ? void 0 : _c.url;
                            return [2 /*return*/, function (axios, basePath) { return (0, common_1.createRequestFunction)(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration)(axios, operationBasePath || basePath); }];
                    }
                });
            });
        },
        /**
         * Deletes a network by its ID.
         * @summary Delete specific network ID.
         * @param {string} networkId The ID of the network
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteNetworkId: function (networkId, options) {
            var _a, _b, _c;
            return __awaiter(this, void 0, void 0, function () {
                var localVarAxiosArgs, index, operationBasePath;
                return __generator(this, function (_d) {
                    switch (_d.label) {
                        case 0: return [4 /*yield*/, localVarAxiosParamCreator.deleteNetworkId(networkId, options)];
                        case 1:
                            localVarAxiosArgs = _d.sent();
                            index = (_a = configuration === null || configuration === void 0 ? void 0 : configuration.serverIndex) !== null && _a !== void 0 ? _a : 0;
                            operationBasePath = (_c = (_b = base_1.operationServerMap['NetworkConnectionsApi.deleteNetworkId']) === null || _b === void 0 ? void 0 : _b[index]) === null || _c === void 0 ? void 0 : _c.url;
                            return [2 /*return*/, function (axios, basePath) { return (0, common_1.createRequestFunction)(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration)(axios, operationBasePath || basePath); }];
                    }
                });
            });
        },
        /**
         * Gets a network connection by ID.
         * @summary Get a network connection
         * @param {string} connectionId The ID of the connection
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getNetwork: function (connectionId, options) {
            var _a, _b, _c;
            return __awaiter(this, void 0, void 0, function () {
                var localVarAxiosArgs, index, operationBasePath;
                return __generator(this, function (_d) {
                    switch (_d.label) {
                        case 0: return [4 /*yield*/, localVarAxiosParamCreator.getNetwork(connectionId, options)];
                        case 1:
                            localVarAxiosArgs = _d.sent();
                            index = (_a = configuration === null || configuration === void 0 ? void 0 : configuration.serverIndex) !== null && _a !== void 0 ? _a : 0;
                            operationBasePath = (_c = (_b = base_1.operationServerMap['NetworkConnectionsApi.getNetwork']) === null || _b === void 0 ? void 0 : _b[index]) === null || _c === void 0 ? void 0 : _c.url;
                            return [2 /*return*/, function (axios, basePath) { return (0, common_1.createRequestFunction)(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration)(axios, operationBasePath || basePath); }];
                    }
                });
            });
        },
        /**
         * Returns all network connections.  **Note:** This API call is subject to Flexible Routing Schemes.  Your routing policy defines how your transactions are routed. You can choose 1 of the 3 different schemes mentioned below for each asset type:   - **None**; Defines the profile routing to no destination for that asset type. Incoming transactions to asset types routed to `None` will fail.   - **Custom**; Route to an account that you choose. If you remove the account, incoming transactions will fail until you choose another one.   - **Default**; Use the routing specified by the network profile the connection is connected to. This scheme is also referred to as \"Profile Routing\"  Default Workspace Presets:   - Network Profile Crypto → **Custom**   - Network Profile FIAT → **None**   - Network Connection Crypto → **Default**   - Network Connection FIAT → **Default**
         * @summary List network connections
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getNetworkConnections: function (options) {
            var _a, _b, _c;
            return __awaiter(this, void 0, void 0, function () {
                var localVarAxiosArgs, index, operationBasePath;
                return __generator(this, function (_d) {
                    switch (_d.label) {
                        case 0: return [4 /*yield*/, localVarAxiosParamCreator.getNetworkConnections(options)];
                        case 1:
                            localVarAxiosArgs = _d.sent();
                            index = (_a = configuration === null || configuration === void 0 ? void 0 : configuration.serverIndex) !== null && _a !== void 0 ? _a : 0;
                            operationBasePath = (_c = (_b = base_1.operationServerMap['NetworkConnectionsApi.getNetworkConnections']) === null || _b === void 0 ? void 0 : _b[index]) === null || _c === void 0 ? void 0 : _c.url;
                            return [2 /*return*/, function (axios, basePath) { return (0, common_1.createRequestFunction)(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration)(axios, operationBasePath || basePath); }];
                    }
                });
            });
        },
        /**
         * Returns specific network ID.
         * @summary Return specific network ID.
         * @param {string} networkId The ID of the network
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getNetworkId: function (networkId, options) {
            var _a, _b, _c;
            return __awaiter(this, void 0, void 0, function () {
                var localVarAxiosArgs, index, operationBasePath;
                return __generator(this, function (_d) {
                    switch (_d.label) {
                        case 0: return [4 /*yield*/, localVarAxiosParamCreator.getNetworkId(networkId, options)];
                        case 1:
                            localVarAxiosArgs = _d.sent();
                            index = (_a = configuration === null || configuration === void 0 ? void 0 : configuration.serverIndex) !== null && _a !== void 0 ? _a : 0;
                            operationBasePath = (_c = (_b = base_1.operationServerMap['NetworkConnectionsApi.getNetworkId']) === null || _b === void 0 ? void 0 : _b[index]) === null || _c === void 0 ? void 0 : _c.url;
                            return [2 /*return*/, function (axios, basePath) { return (0, common_1.createRequestFunction)(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration)(axios, operationBasePath || basePath); }];
                    }
                });
            });
        },
        /**
         * Retrieves a list of all local and discoverable remote network IDs.
         * @summary Get all network IDs
         * @param {*} [options] Override http request option.
         * @deprecated
         * @throws {RequiredError}
         */
        getNetworkIds: function (options) {
            var _a, _b, _c;
            return __awaiter(this, void 0, void 0, function () {
                var localVarAxiosArgs, index, operationBasePath;
                return __generator(this, function (_d) {
                    switch (_d.label) {
                        case 0: return [4 /*yield*/, localVarAxiosParamCreator.getNetworkIds(options)];
                        case 1:
                            localVarAxiosArgs = _d.sent();
                            index = (_a = configuration === null || configuration === void 0 ? void 0 : configuration.serverIndex) !== null && _a !== void 0 ? _a : 0;
                            operationBasePath = (_c = (_b = base_1.operationServerMap['NetworkConnectionsApi.getNetworkIds']) === null || _b === void 0 ? void 0 : _b[index]) === null || _c === void 0 ? void 0 : _c.url;
                            return [2 /*return*/, function (axios, basePath) { return (0, common_1.createRequestFunction)(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration)(axios, operationBasePath || basePath); }];
                    }
                });
            });
        },
        /**
         * Returns all enabled routing policy asset groups
         * @summary Return all enabled routing policy asset groups
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getRoutingPolicyAssetGroups: function (options) {
            var _a, _b, _c;
            return __awaiter(this, void 0, void 0, function () {
                var localVarAxiosArgs, index, operationBasePath;
                return __generator(this, function (_d) {
                    switch (_d.label) {
                        case 0: return [4 /*yield*/, localVarAxiosParamCreator.getRoutingPolicyAssetGroups(options)];
                        case 1:
                            localVarAxiosArgs = _d.sent();
                            index = (_a = configuration === null || configuration === void 0 ? void 0 : configuration.serverIndex) !== null && _a !== void 0 ? _a : 0;
                            operationBasePath = (_c = (_b = base_1.operationServerMap['NetworkConnectionsApi.getRoutingPolicyAssetGroups']) === null || _b === void 0 ? void 0 : _b[index]) === null || _c === void 0 ? void 0 : _c.url;
                            return [2 /*return*/, function (axios, basePath) { return (0, common_1.createRequestFunction)(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration)(axios, operationBasePath || basePath); }];
                    }
                });
            });
        },
        /**
         * Retrieves a list of all local and discoverable remote network IDs. Can be filtered.
         * @summary Get both local IDs and discoverable remote IDs
         * @param {string} [search] Search string - displayName networkId. Optional
         * @param {boolean} [excludeSelf] Exclude your networkIds. Optional, default false
         * @param {boolean} [onlySelf] Include just your networkIds. Optional, default false
         * @param {boolean} [excludeConnected] Exclude connected networkIds. Optional, default false
         * @param {string} [pageCursor] ID of the record after which to fetch $limit records
         * @param {number} [pageSize] Number of records to fetch. By default, it is 50
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchNetworkIds: function (search, excludeSelf, onlySelf, excludeConnected, pageCursor, pageSize, options) {
            var _a, _b, _c;
            return __awaiter(this, void 0, void 0, function () {
                var localVarAxiosArgs, index, operationBasePath;
                return __generator(this, function (_d) {
                    switch (_d.label) {
                        case 0: return [4 /*yield*/, localVarAxiosParamCreator.searchNetworkIds(search, excludeSelf, onlySelf, excludeConnected, pageCursor, pageSize, options)];
                        case 1:
                            localVarAxiosArgs = _d.sent();
                            index = (_a = configuration === null || configuration === void 0 ? void 0 : configuration.serverIndex) !== null && _a !== void 0 ? _a : 0;
                            operationBasePath = (_c = (_b = base_1.operationServerMap['NetworkConnectionsApi.searchNetworkIds']) === null || _b === void 0 ? void 0 : _b[index]) === null || _c === void 0 ? void 0 : _c.url;
                            return [2 /*return*/, function (axios, basePath) { return (0, common_1.createRequestFunction)(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration)(axios, operationBasePath || basePath); }];
                    }
                });
            });
        },
        /**
         * Update whether or not the network ID is discoverable by others.
         * @summary Update network ID\'s discoverability.
         * @param {SetNetworkIdDiscoverabilityRequest} setNetworkIdDiscoverabilityRequest
         * @param {string} networkId The ID of the network
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        setNetworkIdDiscoverability: function (setNetworkIdDiscoverabilityRequest, networkId, options) {
            var _a, _b, _c;
            return __awaiter(this, void 0, void 0, function () {
                var localVarAxiosArgs, index, operationBasePath;
                return __generator(this, function (_d) {
                    switch (_d.label) {
                        case 0: return [4 /*yield*/, localVarAxiosParamCreator.setNetworkIdDiscoverability(setNetworkIdDiscoverabilityRequest, networkId, options)];
                        case 1:
                            localVarAxiosArgs = _d.sent();
                            index = (_a = configuration === null || configuration === void 0 ? void 0 : configuration.serverIndex) !== null && _a !== void 0 ? _a : 0;
                            operationBasePath = (_c = (_b = base_1.operationServerMap['NetworkConnectionsApi.setNetworkIdDiscoverability']) === null || _b === void 0 ? void 0 : _b[index]) === null || _c === void 0 ? void 0 : _c.url;
                            return [2 /*return*/, function (axios, basePath) { return (0, common_1.createRequestFunction)(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration)(axios, operationBasePath || basePath); }];
                    }
                });
            });
        },
        /**
         * Updates name of a specified network ID.
         * @summary Update network ID\'s name.
         * @param {SetNetworkIdNameRequest} setNetworkIdNameRequest
         * @param {string} networkId The ID of the network
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        setNetworkIdName: function (setNetworkIdNameRequest, networkId, options) {
            var _a, _b, _c;
            return __awaiter(this, void 0, void 0, function () {
                var localVarAxiosArgs, index, operationBasePath;
                return __generator(this, function (_d) {
                    switch (_d.label) {
                        case 0: return [4 /*yield*/, localVarAxiosParamCreator.setNetworkIdName(setNetworkIdNameRequest, networkId, options)];
                        case 1:
                            localVarAxiosArgs = _d.sent();
                            index = (_a = configuration === null || configuration === void 0 ? void 0 : configuration.serverIndex) !== null && _a !== void 0 ? _a : 0;
                            operationBasePath = (_c = (_b = base_1.operationServerMap['NetworkConnectionsApi.setNetworkIdName']) === null || _b === void 0 ? void 0 : _b[index]) === null || _c === void 0 ? void 0 : _c.url;
                            return [2 /*return*/, function (axios, basePath) { return (0, common_1.createRequestFunction)(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration)(axios, operationBasePath || basePath); }];
                    }
                });
            });
        },
        /**
         * Updates the routing policy of a specified network ID.
         * @summary Update network id routing policy.
         * @param {string} networkId The ID of the network
         * @param {SetNetworkIdRoutingPolicyRequest} [setNetworkIdRoutingPolicyRequest]
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        setNetworkIdRoutingPolicy: function (networkId, setNetworkIdRoutingPolicyRequest, options) {
            var _a, _b, _c;
            return __awaiter(this, void 0, void 0, function () {
                var localVarAxiosArgs, index, operationBasePath;
                return __generator(this, function (_d) {
                    switch (_d.label) {
                        case 0: return [4 /*yield*/, localVarAxiosParamCreator.setNetworkIdRoutingPolicy(networkId, setNetworkIdRoutingPolicyRequest, options)];
                        case 1:
                            localVarAxiosArgs = _d.sent();
                            index = (_a = configuration === null || configuration === void 0 ? void 0 : configuration.serverIndex) !== null && _a !== void 0 ? _a : 0;
                            operationBasePath = (_c = (_b = base_1.operationServerMap['NetworkConnectionsApi.setNetworkIdRoutingPolicy']) === null || _b === void 0 ? void 0 : _b[index]) === null || _c === void 0 ? void 0 : _c.url;
                            return [2 /*return*/, function (axios, basePath) { return (0, common_1.createRequestFunction)(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration)(axios, operationBasePath || basePath); }];
                    }
                });
            });
        },
        /**
         * Updates an existing network connection\'s routing policy.
         * @summary Update network connection routing policy.
         * @param {string} connectionId The ID of the network connection
         * @param {SetRoutingPolicyRequest} [setRoutingPolicyRequest]
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        setRoutingPolicy: function (connectionId, setRoutingPolicyRequest, options) {
            var _a, _b, _c;
            return __awaiter(this, void 0, void 0, function () {
                var localVarAxiosArgs, index, operationBasePath;
                return __generator(this, function (_d) {
                    switch (_d.label) {
                        case 0: return [4 /*yield*/, localVarAxiosParamCreator.setRoutingPolicy(connectionId, setRoutingPolicyRequest, options)];
                        case 1:
                            localVarAxiosArgs = _d.sent();
                            index = (_a = configuration === null || configuration === void 0 ? void 0 : configuration.serverIndex) !== null && _a !== void 0 ? _a : 0;
                            operationBasePath = (_c = (_b = base_1.operationServerMap['NetworkConnectionsApi.setRoutingPolicy']) === null || _b === void 0 ? void 0 : _b[index]) === null || _c === void 0 ? void 0 : _c.url;
                            return [2 /*return*/, function (axios, basePath) { return (0, common_1.createRequestFunction)(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration)(axios, operationBasePath || basePath); }];
                    }
                });
            });
        },
    };
};
exports.NetworkConnectionsApiFp = NetworkConnectionsApiFp;
/**
 * NetworkConnectionsApi - factory interface
 * @export
 */
var NetworkConnectionsApiFactory = function (configuration, basePath, axios) {
    var localVarFp = (0, exports.NetworkConnectionsApiFp)(configuration);
    return {
        /**
         * The Fireblocks Network allows for flexibility around incoming deposits. A receiver can receive network deposits to locations other than Fireblocks. This endpoint validates whether future transactions are routed to the displayed recipient or to a 3rd party.
         * @summary Retrieve third-party network routing validation
         * @param {NetworkConnectionsApiCheckThirdPartyRoutingRequest} requestParameters Request parameters.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        checkThirdPartyRouting: function (requestParameters, options) {
            return localVarFp.checkThirdPartyRouting(requestParameters.connectionId, requestParameters.assetType, options).then(function (request) { return request(axios, basePath); });
        },
        /**
         * Initiates a new network connection. **Note:** This API call is subject to Flexible Routing Schemes.  Your routing policy defines how your transactions are routed. You can choose 1 of the 3 different schemes mentioned below for each asset type:   - **None**; Defines the profile routing to no destination for that asset type. Incoming transactions to asset types routed to `None` will fail.   - **Custom**; Route to an account that you choose. If you remove the account, incoming transactions will fail until you choose another one.   - **Default**; Use the routing specified by the network profile the connection is connected to. This scheme is also referred to as \"Profile Routing\"  Default Workspace Presets:   - Network Profile Crypto → **Custom**   - Network Profile FIAT → **None**   - Network Connection Crypto → **Default**   - Network Connection FIAT → **Default**  Supported asset groups for routing police can be found at `/network_ids/routing_policy_asset_groups`      - **Note**: By default, Custom routing scheme uses (`dstId` = `0`, `dstType` = `VAULT`).
         * @summary Create a new network connection
         * @param {NetworkConnectionsApiCreateNetworkConnectionRequest} requestParameters Request parameters.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createNetworkConnection: function (requestParameters, options) {
            if (requestParameters === void 0) { requestParameters = {}; }
            return localVarFp.createNetworkConnection(requestParameters.networkConnection, requestParameters.idempotencyKey, options).then(function (request) { return request(axios, basePath); });
        },
        /**
         * Create a new Network ID.
         * @summary Creates a new Network ID
         * @param {NetworkConnectionsApiCreateNetworkIdRequest} requestParameters Request parameters.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createNetworkId: function (requestParameters, options) {
            if (requestParameters === void 0) { requestParameters = {}; }
            return localVarFp.createNetworkId(requestParameters.createNetworkIdRequest, requestParameters.idempotencyKey, options).then(function (request) { return request(axios, basePath); });
        },
        /**
         * Deletes an existing network connection specified by its connection ID.
         * @summary Delete a network connection by ID
         * @param {NetworkConnectionsApiDeleteNetworkConnectionRequest} requestParameters Request parameters.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteNetworkConnection: function (requestParameters, options) {
            return localVarFp.deleteNetworkConnection(requestParameters.connectionId, options).then(function (request) { return request(axios, basePath); });
        },
        /**
         * Deletes a network by its ID.
         * @summary Delete specific network ID.
         * @param {NetworkConnectionsApiDeleteNetworkIdRequest} requestParameters Request parameters.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteNetworkId: function (requestParameters, options) {
            return localVarFp.deleteNetworkId(requestParameters.networkId, options).then(function (request) { return request(axios, basePath); });
        },
        /**
         * Gets a network connection by ID.
         * @summary Get a network connection
         * @param {NetworkConnectionsApiGetNetworkRequest} requestParameters Request parameters.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getNetwork: function (requestParameters, options) {
            return localVarFp.getNetwork(requestParameters.connectionId, options).then(function (request) { return request(axios, basePath); });
        },
        /**
         * Returns all network connections.  **Note:** This API call is subject to Flexible Routing Schemes.  Your routing policy defines how your transactions are routed. You can choose 1 of the 3 different schemes mentioned below for each asset type:   - **None**; Defines the profile routing to no destination for that asset type. Incoming transactions to asset types routed to `None` will fail.   - **Custom**; Route to an account that you choose. If you remove the account, incoming transactions will fail until you choose another one.   - **Default**; Use the routing specified by the network profile the connection is connected to. This scheme is also referred to as \"Profile Routing\"  Default Workspace Presets:   - Network Profile Crypto → **Custom**   - Network Profile FIAT → **None**   - Network Connection Crypto → **Default**   - Network Connection FIAT → **Default**
         * @summary List network connections
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getNetworkConnections: function (options) {
            return localVarFp.getNetworkConnections(options).then(function (request) { return request(axios, basePath); });
        },
        /**
         * Returns specific network ID.
         * @summary Return specific network ID.
         * @param {NetworkConnectionsApiGetNetworkIdRequest} requestParameters Request parameters.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getNetworkId: function (requestParameters, options) {
            return localVarFp.getNetworkId(requestParameters.networkId, options).then(function (request) { return request(axios, basePath); });
        },
        /**
         * Retrieves a list of all local and discoverable remote network IDs.
         * @summary Get all network IDs
         * @param {*} [options] Override http request option.
         * @deprecated
         * @throws {RequiredError}
         */
        getNetworkIds: function (options) {
            return localVarFp.getNetworkIds(options).then(function (request) { return request(axios, basePath); });
        },
        /**
         * Returns all enabled routing policy asset groups
         * @summary Return all enabled routing policy asset groups
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getRoutingPolicyAssetGroups: function (options) {
            return localVarFp.getRoutingPolicyAssetGroups(options).then(function (request) { return request(axios, basePath); });
        },
        /**
         * Retrieves a list of all local and discoverable remote network IDs. Can be filtered.
         * @summary Get both local IDs and discoverable remote IDs
         * @param {NetworkConnectionsApiSearchNetworkIdsRequest} requestParameters Request parameters.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        searchNetworkIds: function (requestParameters, options) {
            if (requestParameters === void 0) { requestParameters = {}; }
            return localVarFp.searchNetworkIds(requestParameters.search, requestParameters.excludeSelf, requestParameters.onlySelf, requestParameters.excludeConnected, requestParameters.pageCursor, requestParameters.pageSize, options).then(function (request) { return request(axios, basePath); });
        },
        /**
         * Update whether or not the network ID is discoverable by others.
         * @summary Update network ID\'s discoverability.
         * @param {NetworkConnectionsApiSetNetworkIdDiscoverabilityRequest} requestParameters Request parameters.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        setNetworkIdDiscoverability: function (requestParameters, options) {
            return localVarFp.setNetworkIdDiscoverability(requestParameters.setNetworkIdDiscoverabilityRequest, requestParameters.networkId, options).then(function (request) { return request(axios, basePath); });
        },
        /**
         * Updates name of a specified network ID.
         * @summary Update network ID\'s name.
         * @param {NetworkConnectionsApiSetNetworkIdNameRequest} requestParameters Request parameters.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        setNetworkIdName: function (requestParameters, options) {
            return localVarFp.setNetworkIdName(requestParameters.setNetworkIdNameRequest, requestParameters.networkId, options).then(function (request) { return request(axios, basePath); });
        },
        /**
         * Updates the routing policy of a specified network ID.
         * @summary Update network id routing policy.
         * @param {NetworkConnectionsApiSetNetworkIdRoutingPolicyRequest} requestParameters Request parameters.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        setNetworkIdRoutingPolicy: function (requestParameters, options) {
            return localVarFp.setNetworkIdRoutingPolicy(requestParameters.networkId, requestParameters.setNetworkIdRoutingPolicyRequest, options).then(function (request) { return request(axios, basePath); });
        },
        /**
         * Updates an existing network connection\'s routing policy.
         * @summary Update network connection routing policy.
         * @param {NetworkConnectionsApiSetRoutingPolicyRequest} requestParameters Request parameters.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        setRoutingPolicy: function (requestParameters, options) {
            return localVarFp.setRoutingPolicy(requestParameters.connectionId, requestParameters.setRoutingPolicyRequest, options).then(function (request) { return request(axios, basePath); });
        },
    };
};
exports.NetworkConnectionsApiFactory = NetworkConnectionsApiFactory;
/**
 * NetworkConnectionsApi - object-oriented interface
 * @export
 * @class NetworkConnectionsApi
 * @extends {BaseAPI}
 */
var NetworkConnectionsApi = /** @class */ (function (_super) {
    __extends(NetworkConnectionsApi, _super);
    function NetworkConnectionsApi() {
        return _super !== null && _super.apply(this, arguments) || this;
    }
    /**
     * The Fireblocks Network allows for flexibility around incoming deposits. A receiver can receive network deposits to locations other than Fireblocks. This endpoint validates whether future transactions are routed to the displayed recipient or to a 3rd party.
     * @summary Retrieve third-party network routing validation
     * @param {NetworkConnectionsApiCheckThirdPartyRoutingRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof NetworkConnectionsApi
     */
    NetworkConnectionsApi.prototype.checkThirdPartyRouting = function (requestParameters) {
        var _this = this;
        return (0, exports.NetworkConnectionsApiFp)(this.configuration).checkThirdPartyRouting(requestParameters.connectionId, requestParameters.assetType).then(function (request) { return request(_this.axios, _this.basePath); }).then(fireblocksResponse_1.convertToFireblocksResponse);
    };
    /**
     * Initiates a new network connection. **Note:** This API call is subject to Flexible Routing Schemes.  Your routing policy defines how your transactions are routed. You can choose 1 of the 3 different schemes mentioned below for each asset type:   - **None**; Defines the profile routing to no destination for that asset type. Incoming transactions to asset types routed to `None` will fail.   - **Custom**; Route to an account that you choose. If you remove the account, incoming transactions will fail until you choose another one.   - **Default**; Use the routing specified by the network profile the connection is connected to. This scheme is also referred to as \"Profile Routing\"  Default Workspace Presets:   - Network Profile Crypto → **Custom**   - Network Profile FIAT → **None**   - Network Connection Crypto → **Default**   - Network Connection FIAT → **Default**  Supported asset groups for routing police can be found at `/network_ids/routing_policy_asset_groups`      - **Note**: By default, Custom routing scheme uses (`dstId` = `0`, `dstType` = `VAULT`).
     * @summary Create a new network connection
     * @param {NetworkConnectionsApiCreateNetworkConnectionRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof NetworkConnectionsApi
     */
    NetworkConnectionsApi.prototype.createNetworkConnection = function (requestParameters) {
        var _this = this;
        if (requestParameters === void 0) { requestParameters = {}; }
        return (0, exports.NetworkConnectionsApiFp)(this.configuration).createNetworkConnection(requestParameters.networkConnection, requestParameters.idempotencyKey).then(function (request) { return request(_this.axios, _this.basePath); }).then(fireblocksResponse_1.convertToFireblocksResponse);
    };
    /**
     * Create a new Network ID.
     * @summary Creates a new Network ID
     * @param {NetworkConnectionsApiCreateNetworkIdRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof NetworkConnectionsApi
     */
    NetworkConnectionsApi.prototype.createNetworkId = function (requestParameters) {
        var _this = this;
        if (requestParameters === void 0) { requestParameters = {}; }
        return (0, exports.NetworkConnectionsApiFp)(this.configuration).createNetworkId(requestParameters.createNetworkIdRequest, requestParameters.idempotencyKey).then(function (request) { return request(_this.axios, _this.basePath); }).then(fireblocksResponse_1.convertToFireblocksResponse);
    };
    /**
     * Deletes an existing network connection specified by its connection ID.
     * @summary Delete a network connection by ID
     * @param {NetworkConnectionsApiDeleteNetworkConnectionRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof NetworkConnectionsApi
     */
    NetworkConnectionsApi.prototype.deleteNetworkConnection = function (requestParameters) {
        var _this = this;
        return (0, exports.NetworkConnectionsApiFp)(this.configuration).deleteNetworkConnection(requestParameters.connectionId).then(function (request) { return request(_this.axios, _this.basePath); }).then(fireblocksResponse_1.convertToFireblocksResponse);
    };
    /**
     * Deletes a network by its ID.
     * @summary Delete specific network ID.
     * @param {NetworkConnectionsApiDeleteNetworkIdRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof NetworkConnectionsApi
     */
    NetworkConnectionsApi.prototype.deleteNetworkId = function (requestParameters) {
        var _this = this;
        return (0, exports.NetworkConnectionsApiFp)(this.configuration).deleteNetworkId(requestParameters.networkId).then(function (request) { return request(_this.axios, _this.basePath); }).then(fireblocksResponse_1.convertToFireblocksResponse);
    };
    /**
     * Gets a network connection by ID.
     * @summary Get a network connection
     * @param {NetworkConnectionsApiGetNetworkRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof NetworkConnectionsApi
     */
    NetworkConnectionsApi.prototype.getNetwork = function (requestParameters) {
        var _this = this;
        return (0, exports.NetworkConnectionsApiFp)(this.configuration).getNetwork(requestParameters.connectionId).then(function (request) { return request(_this.axios, _this.basePath); }).then(fireblocksResponse_1.convertToFireblocksResponse);
    };
    /**
     * Returns all network connections.  **Note:** This API call is subject to Flexible Routing Schemes.  Your routing policy defines how your transactions are routed. You can choose 1 of the 3 different schemes mentioned below for each asset type:   - **None**; Defines the profile routing to no destination for that asset type. Incoming transactions to asset types routed to `None` will fail.   - **Custom**; Route to an account that you choose. If you remove the account, incoming transactions will fail until you choose another one.   - **Default**; Use the routing specified by the network profile the connection is connected to. This scheme is also referred to as \"Profile Routing\"  Default Workspace Presets:   - Network Profile Crypto → **Custom**   - Network Profile FIAT → **None**   - Network Connection Crypto → **Default**   - Network Connection FIAT → **Default**
     * @summary List network connections
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof NetworkConnectionsApi
     */
    NetworkConnectionsApi.prototype.getNetworkConnections = function () {
        var _this = this;
        return (0, exports.NetworkConnectionsApiFp)(this.configuration).getNetworkConnections().then(function (request) { return request(_this.axios, _this.basePath); }).then(fireblocksResponse_1.convertToFireblocksResponse);
    };
    /**
     * Returns specific network ID.
     * @summary Return specific network ID.
     * @param {NetworkConnectionsApiGetNetworkIdRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof NetworkConnectionsApi
     */
    NetworkConnectionsApi.prototype.getNetworkId = function (requestParameters) {
        var _this = this;
        return (0, exports.NetworkConnectionsApiFp)(this.configuration).getNetworkId(requestParameters.networkId).then(function (request) { return request(_this.axios, _this.basePath); }).then(fireblocksResponse_1.convertToFireblocksResponse);
    };
    /**
     * Retrieves a list of all local and discoverable remote network IDs.
     * @summary Get all network IDs
     * @param {*} [options] Override http request option.
     * @deprecated
     * @throws {RequiredError}
     * @memberof NetworkConnectionsApi
     */
    NetworkConnectionsApi.prototype.getNetworkIds = function () {
        var _this = this;
        return (0, exports.NetworkConnectionsApiFp)(this.configuration).getNetworkIds().then(function (request) { return request(_this.axios, _this.basePath); }).then(fireblocksResponse_1.convertToFireblocksResponse);
    };
    /**
     * Returns all enabled routing policy asset groups
     * @summary Return all enabled routing policy asset groups
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof NetworkConnectionsApi
     */
    NetworkConnectionsApi.prototype.getRoutingPolicyAssetGroups = function () {
        var _this = this;
        return (0, exports.NetworkConnectionsApiFp)(this.configuration).getRoutingPolicyAssetGroups().then(function (request) { return request(_this.axios, _this.basePath); }).then(fireblocksResponse_1.convertToFireblocksResponse);
    };
    /**
     * Retrieves a list of all local and discoverable remote network IDs. Can be filtered.
     * @summary Get both local IDs and discoverable remote IDs
     * @param {NetworkConnectionsApiSearchNetworkIdsRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof NetworkConnectionsApi
     */
    NetworkConnectionsApi.prototype.searchNetworkIds = function (requestParameters) {
        var _this = this;
        if (requestParameters === void 0) { requestParameters = {}; }
        return (0, exports.NetworkConnectionsApiFp)(this.configuration).searchNetworkIds(requestParameters.search, requestParameters.excludeSelf, requestParameters.onlySelf, requestParameters.excludeConnected, requestParameters.pageCursor, requestParameters.pageSize).then(function (request) { return request(_this.axios, _this.basePath); }).then(fireblocksResponse_1.convertToFireblocksResponse);
    };
    /**
     * Update whether or not the network ID is discoverable by others.
     * @summary Update network ID\'s discoverability.
     * @param {NetworkConnectionsApiSetNetworkIdDiscoverabilityRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof NetworkConnectionsApi
     */
    NetworkConnectionsApi.prototype.setNetworkIdDiscoverability = function (requestParameters) {
        var _this = this;
        return (0, exports.NetworkConnectionsApiFp)(this.configuration).setNetworkIdDiscoverability(requestParameters.setNetworkIdDiscoverabilityRequest, requestParameters.networkId).then(function (request) { return request(_this.axios, _this.basePath); }).then(fireblocksResponse_1.convertToFireblocksResponse);
    };
    /**
     * Updates name of a specified network ID.
     * @summary Update network ID\'s name.
     * @param {NetworkConnectionsApiSetNetworkIdNameRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof NetworkConnectionsApi
     */
    NetworkConnectionsApi.prototype.setNetworkIdName = function (requestParameters) {
        var _this = this;
        return (0, exports.NetworkConnectionsApiFp)(this.configuration).setNetworkIdName(requestParameters.setNetworkIdNameRequest, requestParameters.networkId).then(function (request) { return request(_this.axios, _this.basePath); }).then(fireblocksResponse_1.convertToFireblocksResponse);
    };
    /**
     * Updates the routing policy of a specified network ID.
     * @summary Update network id routing policy.
     * @param {NetworkConnectionsApiSetNetworkIdRoutingPolicyRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof NetworkConnectionsApi
     */
    NetworkConnectionsApi.prototype.setNetworkIdRoutingPolicy = function (requestParameters) {
        var _this = this;
        return (0, exports.NetworkConnectionsApiFp)(this.configuration).setNetworkIdRoutingPolicy(requestParameters.networkId, requestParameters.setNetworkIdRoutingPolicyRequest).then(function (request) { return request(_this.axios, _this.basePath); }).then(fireblocksResponse_1.convertToFireblocksResponse);
    };
    /**
     * Updates an existing network connection\'s routing policy.
     * @summary Update network connection routing policy.
     * @param {NetworkConnectionsApiSetRoutingPolicyRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof NetworkConnectionsApi
     */
    NetworkConnectionsApi.prototype.setRoutingPolicy = function (requestParameters) {
        var _this = this;
        return (0, exports.NetworkConnectionsApiFp)(this.configuration).setRoutingPolicy(requestParameters.connectionId, requestParameters.setRoutingPolicyRequest).then(function (request) { return request(_this.axios, _this.basePath); }).then(fireblocksResponse_1.convertToFireblocksResponse);
    };
    return NetworkConnectionsApi;
}(base_1.BaseAPI));
exports.NetworkConnectionsApi = NetworkConnectionsApi;
//# sourceMappingURL=network-connections-api.js.map