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

import * as z from "zod/v3";

export type ReplaceByTeamSlugByProjectSlugByRepositoryNameManifestsByReferenceRequest =
  {
    /**
     * Single Docker repository team slug component.
     */
    teamSlug: string;
    /**
     * Single Docker repository project slug component.
     */
    projectSlug: string;
    /**
     * Single Docker repository name component.
     */
    repositoryName: string;
    /**
     * Manifest reference: a tag or digest.
     */
    reference: string;
  };

/** @internal */
export type ReplaceByTeamSlugByProjectSlugByRepositoryNameManifestsByReferenceRequest$Outbound =
  {
    teamSlug: string;
    projectSlug: string;
    repositoryName: string;
    reference: string;
  };

/** @internal */
export const ReplaceByTeamSlugByProjectSlugByRepositoryNameManifestsByReferenceRequest$outboundSchema:
  z.ZodType<
    ReplaceByTeamSlugByProjectSlugByRepositoryNameManifestsByReferenceRequest$Outbound,
    z.ZodTypeDef,
    ReplaceByTeamSlugByProjectSlugByRepositoryNameManifestsByReferenceRequest
  > = z.object({
    teamSlug: z.string(),
    projectSlug: z.string(),
    repositoryName: z.string(),
    reference: z.string(),
  });

export function replaceByTeamSlugByProjectSlugByRepositoryNameManifestsByReferenceRequestToJSON(
  replaceByTeamSlugByProjectSlugByRepositoryNameManifestsByReferenceRequest:
    ReplaceByTeamSlugByProjectSlugByRepositoryNameManifestsByReferenceRequest,
): string {
  return JSON.stringify(
    ReplaceByTeamSlugByProjectSlugByRepositoryNameManifestsByReferenceRequest$outboundSchema
      .parse(
        replaceByTeamSlugByProjectSlugByRepositoryNameManifestsByReferenceRequest,
      ),
  );
}
