"use strict";
/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */
Object.defineProperty(exports, "__esModule", { value: true });
exports.Datasets = void 0;
const datasetsClear_js_1 = require("../funcs/datasetsClear.js");
const datasetsCreate_js_1 = require("../funcs/datasetsCreate.js");
const datasetsCreateDatapoint_js_1 = require("../funcs/datasetsCreateDatapoint.js");
const datasetsDelete_js_1 = require("../funcs/datasetsDelete.js");
const datasetsDeleteDatapoint_js_1 = require("../funcs/datasetsDeleteDatapoint.js");
const datasetsList_js_1 = require("../funcs/datasetsList.js");
const datasetsListDatapoints_js_1 = require("../funcs/datasetsListDatapoints.js");
const datasetsRetrieve_js_1 = require("../funcs/datasetsRetrieve.js");
const datasetsRetrieveDatapoint_js_1 = require("../funcs/datasetsRetrieveDatapoint.js");
const datasetsUpdate_js_1 = require("../funcs/datasetsUpdate.js");
const datasetsUpdateDatapoint_js_1 = require("../funcs/datasetsUpdateDatapoint.js");
const sdks_js_1 = require("../lib/sdks.js");
const fp_js_1 = require("../types/fp.js");
class Datasets extends sdks_js_1.ClientSDK {
    /**
     * List datasets
     *
     * @remarks
     * Retrieves a paginated list of datasets for the current workspace. Results can be paginated using cursor-based pagination.
     */
    async list(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, datasetsList_js_1.datasetsList)(this, request, options));
    }
    /**
     * Create a dataset
     *
     * @remarks
     * Creates a new dataset in the specified project.
     */
    async create(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, datasetsCreate_js_1.datasetsCreate)(this, request, options));
    }
    /**
     * Retrieve a dataset
     *
     * @remarks
     * Retrieves a specific dataset by its unique identifier
     */
    async retrieve(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, datasetsRetrieve_js_1.datasetsRetrieve)(this, request, options));
    }
    /**
     * Update a dataset
     *
     * @remarks
     * Update a dataset
     */
    async update(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, datasetsUpdate_js_1.datasetsUpdate)(this, request, options));
    }
    /**
     * Delete a dataset
     *
     * @remarks
     * Permanently deletes a dataset and all its datapoints. This action is irreversible.
     */
    async delete(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, datasetsDelete_js_1.datasetsDelete)(this, request, options));
    }
    /**
     * List datapoints
     *
     * @remarks
     * Retrieves a paginated list of datapoints from a specific dataset.
     */
    async listDatapoints(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, datasetsListDatapoints_js_1.datasetsListDatapoints)(this, request, options));
    }
    /**
     * Create a datapoint
     *
     * @remarks
     * Creates a new datapoint in the specified dataset.
     */
    async createDatapoint(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, datasetsCreateDatapoint_js_1.datasetsCreateDatapoint)(this, request, options));
    }
    /**
     * Retrieve a datapoint
     *
     * @remarks
     * Retrieves a datapoint object
     */
    async retrieveDatapoint(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, datasetsRetrieveDatapoint_js_1.datasetsRetrieveDatapoint)(this, request, options));
    }
    /**
     * Update a datapoint
     */
    async updateDatapoint(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, datasetsUpdateDatapoint_js_1.datasetsUpdateDatapoint)(this, request, options));
    }
    /**
     * Delete a datapoint
     *
     * @remarks
     * Permanently deletes a specific datapoint from a dataset.
     */
    async deleteDatapoint(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, datasetsDeleteDatapoint_js_1.datasetsDeleteDatapoint)(this, request, options));
    }
    /**
     * Delete all datapoints
     *
     * @remarks
     * Delete all datapoints from a dataset. This action is irreversible.
     */
    async clear(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, datasetsClear_js_1.datasetsClear)(this, request, options));
    }
}
exports.Datasets = Datasets;
//# sourceMappingURL=datasets.js.map