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

import * as z from "zod/v3";
import {
  ConnectTriggerDestinationInput,
  ConnectTriggerDestinationInput$Outbound,
  ConnectTriggerDestinationInput$outboundSchema,
} from "./connecttriggerdestinationinput.js";

/**
 * Complete replacement set of trigger destinations.
 */
export type ConnectReplaceTriggerDestinationsRequest = {
  /**
   * Complete replacement set of trigger destinations. An empty array removes all destinations. Connector get and list responses expose the saved set as triggerDestinations.
   */
  destinations: Array<ConnectTriggerDestinationInput>;
};

/** @internal */
export type ConnectReplaceTriggerDestinationsRequest$Outbound = {
  destinations: Array<ConnectTriggerDestinationInput$Outbound>;
};

/** @internal */
export const ConnectReplaceTriggerDestinationsRequest$outboundSchema: z.ZodType<
  ConnectReplaceTriggerDestinationsRequest$Outbound,
  z.ZodTypeDef,
  ConnectReplaceTriggerDestinationsRequest
> = z.object({
  destinations: z.array(ConnectTriggerDestinationInput$outboundSchema),
});

export function connectReplaceTriggerDestinationsRequestToJSON(
  connectReplaceTriggerDestinationsRequest:
    ConnectReplaceTriggerDestinationsRequest,
): string {
  return JSON.stringify(
    ConnectReplaceTriggerDestinationsRequest$outboundSchema.parse(
      connectReplaceTriggerDestinationsRequest,
    ),
  );
}
