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

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

export type PauseScheduleV1WorkflowsSchedulesScheduleIdPausePostRequest = {
  scheduleId: string;
  workflowSchedulePauseRequest?:
    | components.WorkflowSchedulePauseRequest
    | null
    | undefined;
};

/** @internal */
export type PauseScheduleV1WorkflowsSchedulesScheduleIdPausePostRequest$Outbound =
  {
    schedule_id: string;
    WorkflowSchedulePauseRequest?:
      | components.WorkflowSchedulePauseRequest$Outbound
      | null
      | undefined;
  };

/** @internal */
export const PauseScheduleV1WorkflowsSchedulesScheduleIdPausePostRequest$outboundSchema:
  z.ZodType<
    PauseScheduleV1WorkflowsSchedulesScheduleIdPausePostRequest$Outbound,
    PauseScheduleV1WorkflowsSchedulesScheduleIdPausePostRequest
  > = z.object({
    scheduleId: z.string(),
    workflowSchedulePauseRequest: z.nullable(
      components.WorkflowSchedulePauseRequest$outboundSchema,
    ).optional(),
  }).transform((v) => {
    return remap$(v, {
      scheduleId: "schedule_id",
      workflowSchedulePauseRequest: "WorkflowSchedulePauseRequest",
    });
  });

export function pauseScheduleV1WorkflowsSchedulesScheduleIdPausePostRequestToJSON(
  pauseScheduleV1WorkflowsSchedulesScheduleIdPausePostRequest:
    PauseScheduleV1WorkflowsSchedulesScheduleIdPausePostRequest,
): string {
  return JSON.stringify(
    PauseScheduleV1WorkflowsSchedulesScheduleIdPausePostRequest$outboundSchema
      .parse(pauseScheduleV1WorkflowsSchedulesScheduleIdPausePostRequest),
  );
}
