/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */
import { transformationsCreateTransformation } from "../funcs/transformationsCreateTransformation.js";
import { transformationsDeleteTransformation } from "../funcs/transformationsDeleteTransformation.js";
import { transformationsGetTransformation } from "../funcs/transformationsGetTransformation.js";
import { transformationsListTransformations } from "../funcs/transformationsListTransformations.js";
import { transformationsUpdateTransformation } from "../funcs/transformationsUpdateTransformation.js";
import { ClientSDK } from "../lib/sdks.js";
import { unwrapAsync } from "../types/fp.js";
export class Transformations extends 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 unwrapAsync(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 unwrapAsync(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 unwrapAsync(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 unwrapAsync(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 unwrapAsync(transformationsDeleteTransformation(this, transformation, invalidate, options));
    }
}
//# sourceMappingURL=transformations.js.map