/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */
import { basinsCreateBasin } from "../funcs/basinsCreateBasin.js";
import { basinsCreateOrReconfigureBasin } from "../funcs/basinsCreateOrReconfigureBasin.js";
import { basinsDeleteBasin } from "../funcs/basinsDeleteBasin.js";
import { basinsGetBasinConfig } from "../funcs/basinsGetBasinConfig.js";
import { basinsListBasins } from "../funcs/basinsListBasins.js";
import { basinsReconfigureBasin } from "../funcs/basinsReconfigureBasin.js";
import { ClientSDK } from "../lib/sdks.js";
import { unwrapAsync } from "../types/fp.js";
import { unwrapResultIterator } from "../types/operations.js";
export class Basins extends ClientSDK {
    /**
     * List basins.
     */
    async listBasins(request, options) {
        return unwrapResultIterator(basinsListBasins(this, request, options));
    }
    /**
     * Create a basin.
     */
    async createBasin(request, options) {
        return unwrapAsync(basinsCreateBasin(this, request, options));
    }
    /**
     * Get basin configuration.
     */
    async getBasinConfig(request, options) {
        return unwrapAsync(basinsGetBasinConfig(this, request, options));
    }
    /**
     * Create or reconfigure a basin.
     */
    async createOrReconfigureBasin(request, options) {
        return unwrapAsync(basinsCreateOrReconfigureBasin(this, request, options));
    }
    /**
     * Delete a basin.
     */
    async deleteBasin(request, options) {
        return unwrapAsync(basinsDeleteBasin(this, request, options));
    }
    /**
     * Reconfigure a basin.
     */
    async reconfigureBasin(request, options) {
        return unwrapAsync(basinsReconfigureBasin(this, request, options));
    }
}
//# sourceMappingURL=basins.js.map