/*
 * 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";
/** @internal */
export const VisualSearchParameters3$inboundSchema = z.object({
    text: z.string(),
    threshold: z.number().optional(),
});
/** @internal */
export const VisualSearchParameters3$outboundSchema = z.object({
    text: z.string(),
    threshold: z.number().optional(),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var VisualSearchParameters3$;
(function (VisualSearchParameters3$) {
    /** @deprecated use `VisualSearchParameters3$inboundSchema` instead. */
    VisualSearchParameters3$.inboundSchema = VisualSearchParameters3$inboundSchema;
    /** @deprecated use `VisualSearchParameters3$outboundSchema` instead. */
    VisualSearchParameters3$.outboundSchema = VisualSearchParameters3$outboundSchema;
})(VisualSearchParameters3$ || (VisualSearchParameters3$ = {}));
export function visualSearchParameters3ToJSON(visualSearchParameters3) {
    return JSON.stringify(VisualSearchParameters3$outboundSchema.parse(visualSearchParameters3));
}
export function visualSearchParameters3FromJSON(jsonString) {
    return safeParse(jsonString, (x) => VisualSearchParameters3$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'VisualSearchParameters3' from JSON`);
}
/** @internal */
export const VisualSearchParameters2$inboundSchema = z.object({
    image_asset_id: z.string(),
    threshold: z.number().optional(),
}).transform((v) => {
    return remap$(v, {
        "image_asset_id": "imageAssetId",
    });
});
/** @internal */
export const VisualSearchParameters2$outboundSchema = z.object({
    imageAssetId: z.string(),
    threshold: z.number().optional(),
}).transform((v) => {
    return remap$(v, {
        imageAssetId: "image_asset_id",
    });
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var VisualSearchParameters2$;
(function (VisualSearchParameters2$) {
    /** @deprecated use `VisualSearchParameters2$inboundSchema` instead. */
    VisualSearchParameters2$.inboundSchema = VisualSearchParameters2$inboundSchema;
    /** @deprecated use `VisualSearchParameters2$outboundSchema` instead. */
    VisualSearchParameters2$.outboundSchema = VisualSearchParameters2$outboundSchema;
})(VisualSearchParameters2$ || (VisualSearchParameters2$ = {}));
export function visualSearchParameters2ToJSON(visualSearchParameters2) {
    return JSON.stringify(VisualSearchParameters2$outboundSchema.parse(visualSearchParameters2));
}
export function visualSearchParameters2FromJSON(jsonString) {
    return safeParse(jsonString, (x) => VisualSearchParameters2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'VisualSearchParameters2' from JSON`);
}
/** @internal */
export const VisualSearchParameters1$inboundSchema = z.object({
    image_url: z.string(),
    threshold: z.number().optional(),
}).transform((v) => {
    return remap$(v, {
        "image_url": "imageUrl",
    });
});
/** @internal */
export const VisualSearchParameters1$outboundSchema = z.object({
    imageUrl: z.string(),
    threshold: z.number().optional(),
}).transform((v) => {
    return remap$(v, {
        imageUrl: "image_url",
    });
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var VisualSearchParameters1$;
(function (VisualSearchParameters1$) {
    /** @deprecated use `VisualSearchParameters1$inboundSchema` instead. */
    VisualSearchParameters1$.inboundSchema = VisualSearchParameters1$inboundSchema;
    /** @deprecated use `VisualSearchParameters1$outboundSchema` instead. */
    VisualSearchParameters1$.outboundSchema = VisualSearchParameters1$outboundSchema;
})(VisualSearchParameters1$ || (VisualSearchParameters1$ = {}));
export function visualSearchParameters1ToJSON(visualSearchParameters1) {
    return JSON.stringify(VisualSearchParameters1$outboundSchema.parse(visualSearchParameters1));
}
export function visualSearchParameters1FromJSON(jsonString) {
    return safeParse(jsonString, (x) => VisualSearchParameters1$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'VisualSearchParameters1' from JSON`);
}
/** @internal */
export const VisualSearchParametersUnion$inboundSchema = z.union([
    z.lazy(() => VisualSearchParameters1$inboundSchema),
    z.lazy(() => VisualSearchParameters2$inboundSchema),
    z.lazy(() => VisualSearchParameters3$inboundSchema),
]);
/** @internal */
export const VisualSearchParametersUnion$outboundSchema = z.union([
    z.lazy(() => VisualSearchParameters1$outboundSchema),
    z.lazy(() => VisualSearchParameters2$outboundSchema),
    z.lazy(() => VisualSearchParameters3$outboundSchema),
]);
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var VisualSearchParametersUnion$;
(function (VisualSearchParametersUnion$) {
    /** @deprecated use `VisualSearchParametersUnion$inboundSchema` instead. */
    VisualSearchParametersUnion$.inboundSchema = VisualSearchParametersUnion$inboundSchema;
    /** @deprecated use `VisualSearchParametersUnion$outboundSchema` instead. */
    VisualSearchParametersUnion$.outboundSchema = VisualSearchParametersUnion$outboundSchema;
})(VisualSearchParametersUnion$ || (VisualSearchParametersUnion$ = {}));
export function visualSearchParametersUnionToJSON(visualSearchParametersUnion) {
    return JSON.stringify(VisualSearchParametersUnion$outboundSchema.parse(visualSearchParametersUnion));
}
export function visualSearchParametersUnionFromJSON(jsonString) {
    return safeParse(jsonString, (x) => VisualSearchParametersUnion$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'VisualSearchParametersUnion' from JSON`);
}
//# sourceMappingURL=visualsearchparametersunion.js.map