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

import * as z from "zod/v4-mini";
import {
  S3FileUploadCompletedPart,
  S3FileUploadCompletedPart$Outbound,
  S3FileUploadCompletedPart$outboundSchema,
} from "./s3fileuploadcompletedpart.js";

export type FileUploadCompleted = {
  id: string;
  path: string;
  parts: Array<S3FileUploadCompletedPart>;
};

/** @internal */
export type FileUploadCompleted$Outbound = {
  id: string;
  path: string;
  parts: Array<S3FileUploadCompletedPart$Outbound>;
};

/** @internal */
export const FileUploadCompleted$outboundSchema: z.ZodMiniType<
  FileUploadCompleted$Outbound,
  FileUploadCompleted
> = z.object({
  id: z.string(),
  path: z.string(),
  parts: z.array(S3FileUploadCompletedPart$outboundSchema),
});

export function fileUploadCompletedToJSON(
  fileUploadCompleted: FileUploadCompleted,
): string {
  return JSON.stringify(
    FileUploadCompleted$outboundSchema.parse(fileUploadCompleted),
  );
}
