"use strict";
/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */
Object.defineProperty(exports, "__esModule", { value: true });
exports.Transformations = void 0;
const transformationsCreateTransformation_js_1 = require("../funcs/transformationsCreateTransformation.js");
const transformationsDeleteTransformation_js_1 = require("../funcs/transformationsDeleteTransformation.js");
const transformationsGetTransformation_js_1 = require("../funcs/transformationsGetTransformation.js");
const transformationsListTransformations_js_1 = require("../funcs/transformationsListTransformations.js");
const transformationsUpdateTransformation_js_1 = require("../funcs/transformationsUpdateTransformation.js");
const sdks_js_1 = require("../lib/sdks.js");
const fp_js_1 = require("../types/fp.js");
class Transformations extends sdks_js_1.ClientSDK {
    /**
     * Lists all transformation definitions in your account (including named transformations
     *
     * @remarks
     * Retrieves a list of all transformations, which can be filtered to show either only named or unnamed transformations.
     */
    async listTransformations(named, maxResults, nextCursor, options) {
        return (0, fp_js_1.unwrapAsync)((0, transformationsListTransformations_js_1.transformationsListTransformations)(this, named, maxResults, nextCursor, options));
    }
    /**
     * Retrieves details of a specific transformation
     *
     * @remarks
     * Retrieves details for a named or unnamed transformation.
     */
    async getTransformation(transformation, options) {
        return (0, fp_js_1.unwrapAsync)((0, transformationsGetTransformation_js_1.transformationsGetTransformation)(this, transformation, options));
    }
    /**
     * Creates a new named transformation (assigning a custom name to a set of transformation
     *
     * @remarks
     * Creates a new named transformation with the given name and transformation string.
     */
    async createTransformation(transformation, createRequest, options) {
        return (0, fp_js_1.unwrapAsync)((0, transformationsCreateTransformation_js_1.transformationsCreateTransformation)(this, transformation, createRequest, options));
    }
    /**
     * Updates the definition of an existing named transformation
     *
     * @remarks
     * Update an existing named or unnamed transformation.
     */
    async updateTransformation(transformation, updateRequest, options) {
        return (0, fp_js_1.unwrapAsync)((0, transformationsUpdateTransformation_js_1.transformationsUpdateTransformation)(this, transformation, updateRequest, options));
    }
    /**
     * Deletes a named transformation from your account
     *
     * @remarks
     * Delete a named or unnamed transformation. Optionally invalidate derived resources generated using the named transformation.
     */
    async deleteTransformation(transformation, invalidate, options) {
        return (0, fp_js_1.unwrapAsync)((0, transformationsDeleteTransformation_js_1.transformationsDeleteTransformation)(this, transformation, invalidate, options));
    }
}
exports.Transformations = Transformations;
//# sourceMappingURL=transformations.js.map