/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */
import * as z from "zod";
import { safeParse } from "../../lib/schemas.js";
import { FilterOperator$inboundSchema, FilterOperator$outboundSchema, } from "./filteroperator.js";
import { SemanticThreadField$inboundSchema, SemanticThreadField$outboundSchema, } from "./semanticthreadfield.js";
import { SemanticThreadFilterConditionValue$inboundSchema, SemanticThreadFilterConditionValue$outboundSchema, } from "./semanticthreadfilterconditionvalue.js";
/** @internal */
export const SemanticThreadFilterConditionCondition$inboundSchema = z.object({
    field: SemanticThreadField$inboundSchema,
    operator: FilterOperator$inboundSchema,
    value: SemanticThreadFilterConditionValue$inboundSchema,
});
/** @internal */
export const SemanticThreadFilterConditionCondition$outboundSchema = z.object({
    field: SemanticThreadField$outboundSchema,
    operator: FilterOperator$outboundSchema,
    value: SemanticThreadFilterConditionValue$outboundSchema,
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var SemanticThreadFilterConditionCondition$;
(function (SemanticThreadFilterConditionCondition$) {
    /** @deprecated use `SemanticThreadFilterConditionCondition$inboundSchema` instead. */
    SemanticThreadFilterConditionCondition$.inboundSchema = SemanticThreadFilterConditionCondition$inboundSchema;
    /** @deprecated use `SemanticThreadFilterConditionCondition$outboundSchema` instead. */
    SemanticThreadFilterConditionCondition$.outboundSchema = SemanticThreadFilterConditionCondition$outboundSchema;
})(SemanticThreadFilterConditionCondition$ || (SemanticThreadFilterConditionCondition$ = {}));
export function semanticThreadFilterConditionConditionToJSON(semanticThreadFilterConditionCondition) {
    return JSON.stringify(SemanticThreadFilterConditionCondition$outboundSchema.parse(semanticThreadFilterConditionCondition));
}
export function semanticThreadFilterConditionConditionFromJSON(jsonString) {
    return safeParse(jsonString, (x) => SemanticThreadFilterConditionCondition$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'SemanticThreadFilterConditionCondition' from JSON`);
}
/** @internal */
export const SemanticThreadFilterCondition$inboundSchema = z.object({
    condition: z.lazy(() => SemanticThreadFilterConditionCondition$inboundSchema),
});
/** @internal */
export const SemanticThreadFilterCondition$outboundSchema = z.object({
    condition: z.lazy(() => SemanticThreadFilterConditionCondition$outboundSchema),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var SemanticThreadFilterCondition$;
(function (SemanticThreadFilterCondition$) {
    /** @deprecated use `SemanticThreadFilterCondition$inboundSchema` instead. */
    SemanticThreadFilterCondition$.inboundSchema = SemanticThreadFilterCondition$inboundSchema;
    /** @deprecated use `SemanticThreadFilterCondition$outboundSchema` instead. */
    SemanticThreadFilterCondition$.outboundSchema = SemanticThreadFilterCondition$outboundSchema;
})(SemanticThreadFilterCondition$ || (SemanticThreadFilterCondition$ = {}));
export function semanticThreadFilterConditionToJSON(semanticThreadFilterCondition) {
    return JSON.stringify(SemanticThreadFilterCondition$outboundSchema.parse(semanticThreadFilterCondition));
}
export function semanticThreadFilterConditionFromJSON(jsonString) {
    return safeParse(jsonString, (x) => SemanticThreadFilterCondition$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'SemanticThreadFilterCondition' from JSON`);
}
//# sourceMappingURL=semanticthreadfiltercondition.js.map