import * as z from "zod";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import { FilterOperator } from "./filteroperator.js";
import { SemanticThreadField } from "./semanticthreadfield.js";
import { SemanticThreadFilterConditionValue, SemanticThreadFilterConditionValue$Outbound } from "./semanticthreadfilterconditionvalue.js";
export type SemanticThreadFilterConditionCondition = {
    /**
     * Available fields for SemanticThread
     */
    field: SemanticThreadField;
    /**
     * Available operators for filtering data
     */
    operator: FilterOperator;
    /**
     * The value to compare the field against. For JSON fields, can be either a JSON object or a {path, value} pair.
     */
    value: SemanticThreadFilterConditionValue;
};
export type SemanticThreadFilterCondition = {
    condition: SemanticThreadFilterConditionCondition;
};
/** @internal */
export declare const SemanticThreadFilterConditionCondition$inboundSchema: z.ZodType<SemanticThreadFilterConditionCondition, z.ZodTypeDef, unknown>;
/** @internal */
export type SemanticThreadFilterConditionCondition$Outbound = {
    field: string;
    operator: string;
    value: SemanticThreadFilterConditionValue$Outbound;
};
/** @internal */
export declare const SemanticThreadFilterConditionCondition$outboundSchema: z.ZodType<SemanticThreadFilterConditionCondition$Outbound, z.ZodTypeDef, SemanticThreadFilterConditionCondition>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace SemanticThreadFilterConditionCondition$ {
    /** @deprecated use `SemanticThreadFilterConditionCondition$inboundSchema` instead. */
    const inboundSchema: z.ZodType<SemanticThreadFilterConditionCondition, z.ZodTypeDef, unknown>;
    /** @deprecated use `SemanticThreadFilterConditionCondition$outboundSchema` instead. */
    const outboundSchema: z.ZodType<SemanticThreadFilterConditionCondition$Outbound, z.ZodTypeDef, SemanticThreadFilterConditionCondition>;
    /** @deprecated use `SemanticThreadFilterConditionCondition$Outbound` instead. */
    type Outbound = SemanticThreadFilterConditionCondition$Outbound;
}
export declare function semanticThreadFilterConditionConditionToJSON(semanticThreadFilterConditionCondition: SemanticThreadFilterConditionCondition): string;
export declare function semanticThreadFilterConditionConditionFromJSON(jsonString: string): SafeParseResult<SemanticThreadFilterConditionCondition, SDKValidationError>;
/** @internal */
export declare const SemanticThreadFilterCondition$inboundSchema: z.ZodType<SemanticThreadFilterCondition, z.ZodTypeDef, unknown>;
/** @internal */
export type SemanticThreadFilterCondition$Outbound = {
    condition: SemanticThreadFilterConditionCondition$Outbound;
};
/** @internal */
export declare const SemanticThreadFilterCondition$outboundSchema: z.ZodType<SemanticThreadFilterCondition$Outbound, z.ZodTypeDef, SemanticThreadFilterCondition>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace SemanticThreadFilterCondition$ {
    /** @deprecated use `SemanticThreadFilterCondition$inboundSchema` instead. */
    const inboundSchema: z.ZodType<SemanticThreadFilterCondition, z.ZodTypeDef, unknown>;
    /** @deprecated use `SemanticThreadFilterCondition$outboundSchema` instead. */
    const outboundSchema: z.ZodType<SemanticThreadFilterCondition$Outbound, z.ZodTypeDef, SemanticThreadFilterCondition>;
    /** @deprecated use `SemanticThreadFilterCondition$Outbound` instead. */
    type Outbound = SemanticThreadFilterCondition$Outbound;
}
export declare function semanticThreadFilterConditionToJSON(semanticThreadFilterCondition: SemanticThreadFilterCondition): string;
export declare function semanticThreadFilterConditionFromJSON(jsonString: string): SafeParseResult<SemanticThreadFilterCondition, SDKValidationError>;
//# sourceMappingURL=semanticthreadfiltercondition.d.ts.map