/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */
import * as z from "zod";
import { remap as remap$ } from "../../lib/primitives.js";
import { safeParse } from "../../lib/schemas.js";
import { Source$inboundSchema, Source$outboundSchema, } from "./source.js";
/** @internal */
export const TagDefinitions$inboundSchema = z.object({
    name: z.string(),
    description: z.string(),
});
/** @internal */
export const TagDefinitions$outboundSchema = z.object({
    name: z.string(),
    description: z.string(),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var TagDefinitions$;
(function (TagDefinitions$) {
    /** @deprecated use `TagDefinitions$inboundSchema` instead. */
    TagDefinitions$.inboundSchema = TagDefinitions$inboundSchema;
    /** @deprecated use `TagDefinitions$outboundSchema` instead. */
    TagDefinitions$.outboundSchema = TagDefinitions$outboundSchema;
})(TagDefinitions$ || (TagDefinitions$ = {}));
export function tagDefinitionsToJSON(tagDefinitions) {
    return JSON.stringify(TagDefinitions$outboundSchema.parse(tagDefinitions));
}
export function tagDefinitionsFromJSON(jsonString) {
    return safeParse(jsonString, (x) => TagDefinitions$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'TagDefinitions' from JSON`);
}
/** @internal */
export const AnalyzeAIVisionTaggingRequest$inboundSchema = z.object({
    source: Source$inboundSchema,
    async: z.boolean().optional(),
    notification_url: z.string().optional(),
    tag_definitions: z.array(z.lazy(() => TagDefinitions$inboundSchema)),
}).transform((v) => {
    return remap$(v, {
        "notification_url": "notificationUrl",
        "tag_definitions": "tagDefinitions",
    });
});
/** @internal */
export const AnalyzeAIVisionTaggingRequest$outboundSchema = z.object({
    source: Source$outboundSchema,
    async: z.boolean().optional(),
    notificationUrl: z.string().optional(),
    tagDefinitions: z.array(z.lazy(() => TagDefinitions$outboundSchema)),
}).transform((v) => {
    return remap$(v, {
        notificationUrl: "notification_url",
        tagDefinitions: "tag_definitions",
    });
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var AnalyzeAIVisionTaggingRequest$;
(function (AnalyzeAIVisionTaggingRequest$) {
    /** @deprecated use `AnalyzeAIVisionTaggingRequest$inboundSchema` instead. */
    AnalyzeAIVisionTaggingRequest$.inboundSchema = AnalyzeAIVisionTaggingRequest$inboundSchema;
    /** @deprecated use `AnalyzeAIVisionTaggingRequest$outboundSchema` instead. */
    AnalyzeAIVisionTaggingRequest$.outboundSchema = AnalyzeAIVisionTaggingRequest$outboundSchema;
})(AnalyzeAIVisionTaggingRequest$ || (AnalyzeAIVisionTaggingRequest$ = {}));
export function analyzeAIVisionTaggingRequestToJSON(analyzeAIVisionTaggingRequest) {
    return JSON.stringify(AnalyzeAIVisionTaggingRequest$outboundSchema.parse(analyzeAIVisionTaggingRequest));
}
export function analyzeAIVisionTaggingRequestFromJSON(jsonString) {
    return safeParse(jsonString, (x) => AnalyzeAIVisionTaggingRequest$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'AnalyzeAIVisionTaggingRequest' from JSON`);
}
//# sourceMappingURL=analyzeaivisiontaggingrequest.js.map