/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 * @generated-id: a061ea01fb50
 */

import * as z from "zod/v4";
import { remap as remap$ } from "../../lib/primitives.js";
import * as components from "../components/index.js";

export type UpdateWorkflowV1WorkflowsWorkflowIdentifierPutRequest = {
  workflowIdentifier: string;
  workflowUpdateRequest: components.WorkflowUpdateRequest;
};

/** @internal */
export type UpdateWorkflowV1WorkflowsWorkflowIdentifierPutRequest$Outbound = {
  workflow_identifier: string;
  WorkflowUpdateRequest: components.WorkflowUpdateRequest$Outbound;
};

/** @internal */
export const UpdateWorkflowV1WorkflowsWorkflowIdentifierPutRequest$outboundSchema:
  z.ZodType<
    UpdateWorkflowV1WorkflowsWorkflowIdentifierPutRequest$Outbound,
    UpdateWorkflowV1WorkflowsWorkflowIdentifierPutRequest
  > = z.object({
    workflowIdentifier: z.string(),
    workflowUpdateRequest: components.WorkflowUpdateRequest$outboundSchema,
  }).transform((v) => {
    return remap$(v, {
      workflowIdentifier: "workflow_identifier",
      workflowUpdateRequest: "WorkflowUpdateRequest",
    });
  });

export function updateWorkflowV1WorkflowsWorkflowIdentifierPutRequestToJSON(
  updateWorkflowV1WorkflowsWorkflowIdentifierPutRequest:
    UpdateWorkflowV1WorkflowsWorkflowIdentifierPutRequest,
): string {
  return JSON.stringify(
    UpdateWorkflowV1WorkflowsWorkflowIdentifierPutRequest$outboundSchema.parse(
      updateWorkflowV1WorkflowsWorkflowIdentifierPutRequest,
    ),
  );
}
