"use strict";
/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */
Object.defineProperty(exports, "__esModule", { value: true });
exports.Basins = void 0;
const basinsCreateBasin_js_1 = require("../funcs/basinsCreateBasin.js");
const basinsCreateOrReconfigureBasin_js_1 = require("../funcs/basinsCreateOrReconfigureBasin.js");
const basinsDeleteBasin_js_1 = require("../funcs/basinsDeleteBasin.js");
const basinsGetBasinConfig_js_1 = require("../funcs/basinsGetBasinConfig.js");
const basinsListBasins_js_1 = require("../funcs/basinsListBasins.js");
const basinsReconfigureBasin_js_1 = require("../funcs/basinsReconfigureBasin.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 Basins extends sdks_js_1.ClientSDK {
    /**
     * List basins.
     */
    async listBasins(request, options) {
        return (0, operations_js_1.unwrapResultIterator)((0, basinsListBasins_js_1.basinsListBasins)(this, request, options));
    }
    /**
     * Create a basin.
     */
    async createBasin(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, basinsCreateBasin_js_1.basinsCreateBasin)(this, request, options));
    }
    /**
     * Get basin configuration.
     */
    async getBasinConfig(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, basinsGetBasinConfig_js_1.basinsGetBasinConfig)(this, request, options));
    }
    /**
     * Create or reconfigure a basin.
     */
    async createOrReconfigureBasin(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, basinsCreateOrReconfigureBasin_js_1.basinsCreateOrReconfigureBasin)(this, request, options));
    }
    /**
     * Delete a basin.
     */
    async deleteBasin(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, basinsDeleteBasin_js_1.basinsDeleteBasin)(this, request, options));
    }
    /**
     * Reconfigure a basin.
     */
    async reconfigureBasin(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, basinsReconfigureBasin_js_1.basinsReconfigureBasin)(this, request, options));
    }
}
exports.Basins = Basins;
//# sourceMappingURL=basins.js.map