"use strict";
/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */
Object.defineProperty(exports, "__esModule", { value: true });
exports.Basin = void 0;
const basinCreateStream_js_1 = require("../funcs/basinCreateStream.js");
const basinDeleteStream_js_1 = require("../funcs/basinDeleteStream.js");
const basinGetStreamConfig_js_1 = require("../funcs/basinGetStreamConfig.js");
const basinListStreams_js_1 = require("../funcs/basinListStreams.js");
const basinReconfigureStream_js_1 = require("../funcs/basinReconfigureStream.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 Basin extends sdks_js_1.ClientSDK {
    /**
     * List Streams.
     */
    async listStreams(request, options) {
        return (0, operations_js_1.unwrapResultIterator)((0, basinListStreams_js_1.basinListStreams)(this, request, options));
    }
    /**
     * Get stream configuration.
     */
    async getStreamConfig(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, basinGetStreamConfig_js_1.basinGetStreamConfig)(this, request, options));
    }
    /**
     * Create a stream.
     */
    async createStream(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, basinCreateStream_js_1.basinCreateStream)(this, request, options));
    }
    /**
     * Delete a stream.
     */
    async deleteStream(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, basinDeleteStream_js_1.basinDeleteStream)(this, request, options));
    }
    /**
     * Update stream configuration.
     */
    async reconfigureStream(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, basinReconfigureStream_js_1.basinReconfigureStream)(this, request, options));
    }
}
exports.Basin = Basin;
//# sourceMappingURL=basin.js.map