"use strict";
/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */
Object.defineProperty(exports, "__esModule", { value: true });
exports.Account = void 0;
const accountCreateBasin_js_1 = require("../funcs/accountCreateBasin.js");
const accountDeleteBasin_js_1 = require("../funcs/accountDeleteBasin.js");
const accountGetBasinConfig_js_1 = require("../funcs/accountGetBasinConfig.js");
const accountListBasins_js_1 = require("../funcs/accountListBasins.js");
const accountReconfigureBasin_js_1 = require("../funcs/accountReconfigureBasin.js");
const sdks_js_1 = require("../lib/sdks.js");
const fp_js_1 = require("../types/fp.js");
const operations_js_1 = require("../types/operations.js");
class Account extends sdks_js_1.ClientSDK {
    /**
     * List basins.
     */
    async listBasins(request, options) {
        return (0, operations_js_1.unwrapResultIterator)((0, accountListBasins_js_1.accountListBasins)(this, request, options));
    }
    /**
     * Get basin configuration.
     */
    async getBasinConfig(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, accountGetBasinConfig_js_1.accountGetBasinConfig)(this, request, options));
    }
    /**
     * Create a new basin.
     */
    async createBasin(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, accountCreateBasin_js_1.accountCreateBasin)(this, request, options));
    }
    /**
     * Delete a basin.
     */
    async deleteBasin(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, accountDeleteBasin_js_1.accountDeleteBasin)(this, request, options));
    }
    /**
     * Update basin configuration.
     */
    async reconfigureBasin(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, accountReconfigureBasin_js_1.accountReconfigureBasin)(this, request, options));
    }
}
exports.Account = Account;
//# sourceMappingURL=account.js.map