"use strict";
/**
 * 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.
 */
Object.defineProperty(exports, "__esModule", { value: true });
exports.Fireblocks = void 0;
var configuration_1 = require("../configuration");
var api_1 = require("../api");
var axiosManager_1 = require("../network/axiosManager");
var Fireblocks = /** @class */ (function () {
    function Fireblocks(conf) {
        if (conf === void 0) { conf = {}; }
        var _a;
        var apiKey = conf.apiKey || process.env.FIREBLOCKS_API_KEY;
        if (!apiKey) {
            throw new Error("apiKey is required either in the configuration or as environment variable FIREBLOCKS_API_KEY");
        }
        var secretKey = conf.secretKey || process.env.FIREBLOCKS_SECRET_KEY;
        if (!secretKey) {
            throw new Error("secretKey is required either in the configuration or as environment variable FIREBLOCKS_SECRET_KEY");
        }
        var basePath = conf.basePath || process.env.FIREBLOCKS_BASE_PATH;
        if (!basePath) {
            throw new Error("basePath is required either in the configuration or as environment variable FIREBLOCKS_BASE_PATH");
        }
        this.config = new configuration_1.Configuration({ basePath: basePath, baseOptions: (_a = conf.additionalOptions) === null || _a === void 0 ? void 0 : _a.baseOptions });
        this.axiosManager = new axiosManager_1.AxiosManager(apiKey, secretKey, conf === null || conf === void 0 ? void 0 : conf.additionalOptions);
    }
    Object.defineProperty(Fireblocks.prototype, "apiUser", {
        get: function () {
            var _a;
            return (_a = this._apiUser) !== null && _a !== void 0 ? _a : new api_1.ApiUserApi(this.config, undefined, this.axiosManager.axios);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Fireblocks.prototype, "auditLogs", {
        get: function () {
            var _a;
            return (_a = this._auditLogs) !== null && _a !== void 0 ? _a : new api_1.AuditLogsApi(this.config, undefined, this.axiosManager.axios);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Fireblocks.prototype, "blockchainsAssets", {
        get: function () {
            var _a;
            return (_a = this._blockchainsAssets) !== null && _a !== void 0 ? _a : new api_1.BlockchainsAssetsApi(this.config, undefined, this.axiosManager.axios);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Fireblocks.prototype, "compliance", {
        get: function () {
            var _a;
            return (_a = this._compliance) !== null && _a !== void 0 ? _a : new api_1.ComplianceApi(this.config, undefined, this.axiosManager.axios);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Fireblocks.prototype, "complianceScreeningConfiguration", {
        get: function () {
            var _a;
            return (_a = this._complianceScreeningConfiguration) !== null && _a !== void 0 ? _a : new api_1.ComplianceScreeningConfigurationApi(this.config, undefined, this.axiosManager.axios);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Fireblocks.prototype, "connectedAccountsBeta", {
        get: function () {
            var _a;
            return (_a = this._connectedAccountsBeta) !== null && _a !== void 0 ? _a : new api_1.ConnectedAccountsBetaApi(this.config, undefined, this.axiosManager.axios);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Fireblocks.prototype, "consoleUser", {
        get: function () {
            var _a;
            return (_a = this._consoleUser) !== null && _a !== void 0 ? _a : new api_1.ConsoleUserApi(this.config, undefined, this.axiosManager.axios);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Fireblocks.prototype, "contractInteractions", {
        get: function () {
            var _a;
            return (_a = this._contractInteractions) !== null && _a !== void 0 ? _a : new api_1.ContractInteractionsApi(this.config, undefined, this.axiosManager.axios);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Fireblocks.prototype, "contractTemplates", {
        get: function () {
            var _a;
            return (_a = this._contractTemplates) !== null && _a !== void 0 ? _a : new api_1.ContractTemplatesApi(this.config, undefined, this.axiosManager.axios);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Fireblocks.prototype, "contracts", {
        get: function () {
            var _a;
            return (_a = this._contracts) !== null && _a !== void 0 ? _a : new api_1.ContractsApi(this.config, undefined, this.axiosManager.axios);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Fireblocks.prototype, "cosignersBeta", {
        get: function () {
            var _a;
            return (_a = this._cosignersBeta) !== null && _a !== void 0 ? _a : new api_1.CosignersBetaApi(this.config, undefined, this.axiosManager.axios);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Fireblocks.prototype, "deployedContracts", {
        get: function () {
            var _a;
            return (_a = this._deployedContracts) !== null && _a !== void 0 ? _a : new api_1.DeployedContractsApi(this.config, undefined, this.axiosManager.axios);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Fireblocks.prototype, "earnBeta", {
        get: function () {
            var _a;
            return (_a = this._earnBeta) !== null && _a !== void 0 ? _a : new api_1.EarnBetaApi(this.config, undefined, this.axiosManager.axios);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Fireblocks.prototype, "embeddedWallets", {
        get: function () {
            var _a;
            return (_a = this._embeddedWallets) !== null && _a !== void 0 ? _a : new api_1.EmbeddedWalletsApi(this.config, undefined, this.axiosManager.axios);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Fireblocks.prototype, "exchangeAccounts", {
        get: function () {
            var _a;
            return (_a = this._exchangeAccounts) !== null && _a !== void 0 ? _a : new api_1.ExchangeAccountsApi(this.config, undefined, this.axiosManager.axios);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Fireblocks.prototype, "externalWallets", {
        get: function () {
            var _a;
            return (_a = this._externalWallets) !== null && _a !== void 0 ? _a : new api_1.ExternalWalletsApi(this.config, undefined, this.axiosManager.axios);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Fireblocks.prototype, "fiatAccounts", {
        get: function () {
            var _a;
            return (_a = this._fiatAccounts) !== null && _a !== void 0 ? _a : new api_1.FiatAccountsApi(this.config, undefined, this.axiosManager.axios);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Fireblocks.prototype, "gasStations", {
        get: function () {
            var _a;
            return (_a = this._gasStations) !== null && _a !== void 0 ? _a : new api_1.GasStationsApi(this.config, undefined, this.axiosManager.axios);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Fireblocks.prototype, "genieBeta", {
        get: function () {
            var _a;
            return (_a = this._genieBeta) !== null && _a !== void 0 ? _a : new api_1.GenieBetaApi(this.config, undefined, this.axiosManager.axios);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Fireblocks.prototype, "internalWallets", {
        get: function () {
            var _a;
            return (_a = this._internalWallets) !== null && _a !== void 0 ? _a : new api_1.InternalWalletsApi(this.config, undefined, this.axiosManager.axios);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Fireblocks.prototype, "keyLinkBeta", {
        get: function () {
            var _a;
            return (_a = this._keyLinkBeta) !== null && _a !== void 0 ? _a : new api_1.KeyLinkBetaApi(this.config, undefined, this.axiosManager.axios);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Fireblocks.prototype, "keysBeta", {
        get: function () {
            var _a;
            return (_a = this._keysBeta) !== null && _a !== void 0 ? _a : new api_1.KeysBetaApi(this.config, undefined, this.axiosManager.axios);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Fireblocks.prototype, "nfts", {
        get: function () {
            var _a;
            return (_a = this._nfts) !== null && _a !== void 0 ? _a : new api_1.NFTsApi(this.config, undefined, this.axiosManager.axios);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Fireblocks.prototype, "networkConnections", {
        get: function () {
            var _a;
            return (_a = this._networkConnections) !== null && _a !== void 0 ? _a : new api_1.NetworkConnectionsApi(this.config, undefined, this.axiosManager.axios);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Fireblocks.prototype, "otaBeta", {
        get: function () {
            var _a;
            return (_a = this._otaBeta) !== null && _a !== void 0 ? _a : new api_1.OTABetaApi(this.config, undefined, this.axiosManager.axios);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Fireblocks.prototype, "offExchanges", {
        get: function () {
            var _a;
            return (_a = this._offExchanges) !== null && _a !== void 0 ? _a : new api_1.OffExchangesApi(this.config, undefined, this.axiosManager.axios);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Fireblocks.prototype, "onchainData", {
        get: function () {
            var _a;
            return (_a = this._onchainData) !== null && _a !== void 0 ? _a : new api_1.OnchainDataApi(this.config, undefined, this.axiosManager.axios);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Fireblocks.prototype, "paymentsPayout", {
        get: function () {
            var _a;
            return (_a = this._paymentsPayout) !== null && _a !== void 0 ? _a : new api_1.PaymentsPayoutApi(this.config, undefined, this.axiosManager.axios);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Fireblocks.prototype, "policyEditorBeta", {
        get: function () {
            var _a;
            return (_a = this._policyEditorBeta) !== null && _a !== void 0 ? _a : new api_1.PolicyEditorBetaApi(this.config, undefined, this.axiosManager.axios);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Fireblocks.prototype, "policyEditorV2Beta", {
        get: function () {
            var _a;
            return (_a = this._policyEditorV2Beta) !== null && _a !== void 0 ? _a : new api_1.PolicyEditorV2BetaApi(this.config, undefined, this.axiosManager.axios);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Fireblocks.prototype, "resetDevice", {
        get: function () {
            var _a;
            return (_a = this._resetDevice) !== null && _a !== void 0 ? _a : new api_1.ResetDeviceApi(this.config, undefined, this.axiosManager.axios);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Fireblocks.prototype, "smartTransfer", {
        get: function () {
            var _a;
            return (_a = this._smartTransfer) !== null && _a !== void 0 ? _a : new api_1.SmartTransferApi(this.config, undefined, this.axiosManager.axios);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Fireblocks.prototype, "staking", {
        get: function () {
            var _a;
            return (_a = this._staking) !== null && _a !== void 0 ? _a : new api_1.StakingApi(this.config, undefined, this.axiosManager.axios);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Fireblocks.prototype, "trLink", {
        get: function () {
            var _a;
            return (_a = this._trLink) !== null && _a !== void 0 ? _a : new api_1.TRLinkApi(this.config, undefined, this.axiosManager.axios);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Fireblocks.prototype, "tags", {
        get: function () {
            var _a;
            return (_a = this._tags) !== null && _a !== void 0 ? _a : new api_1.TagsApi(this.config, undefined, this.axiosManager.axios);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Fireblocks.prototype, "tokenization", {
        get: function () {
            var _a;
            return (_a = this._tokenization) !== null && _a !== void 0 ? _a : new api_1.TokenizationApi(this.config, undefined, this.axiosManager.axios);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Fireblocks.prototype, "tradingBeta", {
        get: function () {
            var _a;
            return (_a = this._tradingBeta) !== null && _a !== void 0 ? _a : new api_1.TradingBetaApi(this.config, undefined, this.axiosManager.axios);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Fireblocks.prototype, "transactions", {
        get: function () {
            var _a;
            return (_a = this._transactions) !== null && _a !== void 0 ? _a : new api_1.TransactionsApi(this.config, undefined, this.axiosManager.axios);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Fireblocks.prototype, "travelRule", {
        get: function () {
            var _a;
            return (_a = this._travelRule) !== null && _a !== void 0 ? _a : new api_1.TravelRuleApi(this.config, undefined, this.axiosManager.axios);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Fireblocks.prototype, "utxoManagementBeta", {
        get: function () {
            var _a;
            return (_a = this._utxoManagementBeta) !== null && _a !== void 0 ? _a : new api_1.UTXOManagementBetaApi(this.config, undefined, this.axiosManager.axios);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Fireblocks.prototype, "userGroupsBeta", {
        get: function () {
            var _a;
            return (_a = this._userGroupsBeta) !== null && _a !== void 0 ? _a : new api_1.UserGroupsBetaApi(this.config, undefined, this.axiosManager.axios);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Fireblocks.prototype, "users", {
        get: function () {
            var _a;
            return (_a = this._users) !== null && _a !== void 0 ? _a : new api_1.UsersApi(this.config, undefined, this.axiosManager.axios);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Fireblocks.prototype, "vaults", {
        get: function () {
            var _a;
            return (_a = this._vaults) !== null && _a !== void 0 ? _a : new api_1.VaultsApi(this.config, undefined, this.axiosManager.axios);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Fireblocks.prototype, "web3Connections", {
        get: function () {
            var _a;
            return (_a = this._web3Connections) !== null && _a !== void 0 ? _a : new api_1.Web3ConnectionsApi(this.config, undefined, this.axiosManager.axios);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Fireblocks.prototype, "webhooks", {
        get: function () {
            var _a;
            return (_a = this._webhooks) !== null && _a !== void 0 ? _a : new api_1.WebhooksApi(this.config, undefined, this.axiosManager.axios);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Fireblocks.prototype, "webhooksV2", {
        get: function () {
            var _a;
            return (_a = this._webhooksV2) !== null && _a !== void 0 ? _a : new api_1.WebhooksV2Api(this.config, undefined, this.axiosManager.axios);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Fireblocks.prototype, "whitelistIpAddresses", {
        get: function () {
            var _a;
            return (_a = this._whitelistIpAddresses) !== null && _a !== void 0 ? _a : new api_1.WhitelistIpAddressesApi(this.config, undefined, this.axiosManager.axios);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Fireblocks.prototype, "workspace", {
        get: function () {
            var _a;
            return (_a = this._workspace) !== null && _a !== void 0 ? _a : new api_1.WorkspaceApi(this.config, undefined, this.axiosManager.axios);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Fireblocks.prototype, "workspaceStatusBeta", {
        get: function () {
            var _a;
            return (_a = this._workspaceStatusBeta) !== null && _a !== void 0 ? _a : new api_1.WorkspaceStatusBetaApi(this.config, undefined, this.axiosManager.axios);
        },
        enumerable: false,
        configurable: true
    });
    return Fireblocks;
}());
exports.Fireblocks = Fireblocks;
//# sourceMappingURL=client.js.map