/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 * @generated-id: e5d888426b1c
 */
import { workflowsArchiveWorkflow } from "../funcs/workflowsArchiveWorkflow.js";
import { workflowsBulkArchiveWorkflows } from "../funcs/workflowsBulkArchiveWorkflows.js";
import { workflowsBulkUnarchiveWorkflows } from "../funcs/workflowsBulkUnarchiveWorkflows.js";
import { workflowsExecuteWorkflow } from "../funcs/workflowsExecuteWorkflow.js";
import { workflowsExecuteWorkflowRegistration } from "../funcs/workflowsExecuteWorkflowRegistration.js";
import { workflowsGetWorkflow } from "../funcs/workflowsGetWorkflow.js";
import { workflowsGetWorkflowRegistration } from "../funcs/workflowsGetWorkflowRegistration.js";
import { workflowsGetWorkflowRegistrations } from "../funcs/workflowsGetWorkflowRegistrations.js";
import { workflowsGetWorkflows } from "../funcs/workflowsGetWorkflows.js";
import { workflowsUnarchiveWorkflow } from "../funcs/workflowsUnarchiveWorkflow.js";
import { workflowsUpdateWorkflow } from "../funcs/workflowsUpdateWorkflow.js";
import { ClientSDK } from "../lib/sdks.js";
import { unwrapAsync } from "../types/fp.js";
import { unwrapResultIterator } from "../types/operations.js";
import { Deployments } from "./deployments.js";
import { Executions } from "./executions.js";
import { Metrics } from "./metrics.js";
import { Runs } from "./runs.js";
import { Schedules } from "./schedules.js";
import { WorkflowsEvents } from "./workflowsevents.js";
export class Workflows extends ClientSDK {
    _executions;
    get executions() {
        return (this._executions ?? (this._executions = new Executions(this._options)));
    }
    _metrics;
    get metrics() {
        return (this._metrics ?? (this._metrics = new Metrics(this._options)));
    }
    _runs;
    get runs() {
        return (this._runs ?? (this._runs = new Runs(this._options)));
    }
    _schedules;
    get schedules() {
        return (this._schedules ?? (this._schedules = new Schedules(this._options)));
    }
    _events;
    get events() {
        return (this._events ?? (this._events = new WorkflowsEvents(this._options)));
    }
    _deployments;
    get deployments() {
        return (this._deployments ?? (this._deployments = new Deployments(this._options)));
    }
    /**
     * Get Workflows
     */
    async getWorkflows(request, options) {
        return unwrapResultIterator(workflowsGetWorkflows(this, request, options));
    }
    /**
     * Get Workflow Registrations
     */
    async getWorkflowRegistrations(request, options) {
        return unwrapAsync(workflowsGetWorkflowRegistrations(this, request, options));
    }
    /**
     * Execute Workflow
     */
    async executeWorkflow(request, options) {
        return unwrapAsync(workflowsExecuteWorkflow(this, request, options));
    }
    /**
     * Execute Workflow Registration
     *
     * @deprecated method: This will be removed in a future release, please migrate away from it as soon as possible.
     */
    async executeWorkflowRegistration(request, options) {
        return unwrapAsync(workflowsExecuteWorkflowRegistration(this, request, options));
    }
    /**
     * Get Workflow
     */
    async getWorkflow(request, options) {
        return unwrapAsync(workflowsGetWorkflow(this, request, options));
    }
    /**
     * Update Workflow
     */
    async updateWorkflow(request, options) {
        return unwrapAsync(workflowsUpdateWorkflow(this, request, options));
    }
    /**
     * Get Workflow Registration
     */
    async getWorkflowRegistration(request, options) {
        return unwrapAsync(workflowsGetWorkflowRegistration(this, request, options));
    }
    /**
     * Bulk Archive Workflows
     */
    async bulkArchiveWorkflows(request, options) {
        return unwrapAsync(workflowsBulkArchiveWorkflows(this, request, options));
    }
    /**
     * Bulk Unarchive Workflows
     */
    async bulkUnarchiveWorkflows(request, options) {
        return unwrapAsync(workflowsBulkUnarchiveWorkflows(this, request, options));
    }
    /**
     * Archive Workflow
     */
    async archiveWorkflow(request, options) {
        return unwrapAsync(workflowsArchiveWorkflow(this, request, options));
    }
    /**
     * Unarchive Workflow
     */
    async unarchiveWorkflow(request, options) {
        return unwrapAsync(workflowsUnarchiveWorkflow(this, request, options));
    }
}
//# sourceMappingURL=workflows.js.map