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

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

export type UpdateJudgeV1ObservabilityJudgesJudgeIdPutRequest = {
  judgeId: string;
  updateJudgeRequest: components.UpdateJudgeRequest;
};

/** @internal */
export type UpdateJudgeV1ObservabilityJudgesJudgeIdPutRequest$Outbound = {
  judge_id: string;
  UpdateJudgeRequest: components.UpdateJudgeRequest$Outbound;
};

/** @internal */
export const UpdateJudgeV1ObservabilityJudgesJudgeIdPutRequest$outboundSchema:
  z.ZodType<
    UpdateJudgeV1ObservabilityJudgesJudgeIdPutRequest$Outbound,
    UpdateJudgeV1ObservabilityJudgesJudgeIdPutRequest
  > = z.object({
    judgeId: z.string(),
    updateJudgeRequest: components.UpdateJudgeRequest$outboundSchema,
  }).transform((v) => {
    return remap$(v, {
      judgeId: "judge_id",
      updateJudgeRequest: "UpdateJudgeRequest",
    });
  });

export function updateJudgeV1ObservabilityJudgesJudgeIdPutRequestToJSON(
  updateJudgeV1ObservabilityJudgesJudgeIdPutRequest:
    UpdateJudgeV1ObservabilityJudgesJudgeIdPutRequest,
): string {
  return JSON.stringify(
    UpdateJudgeV1ObservabilityJudgesJudgeIdPutRequest$outboundSchema.parse(
      updateJudgeV1ObservabilityJudgesJudgeIdPutRequest,
    ),
  );
}
