import * as z from "zod/v3";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import { ConversationsField } from "./conversationsfield.js";
import { FilterOperator } from "./filteroperator.js";
export type Four = string | number | boolean;
export type Value = string | number | boolean | Array<string | number | boolean | null>;
export type Seven = {
    path: Array<string>;
    value: string | number | boolean | Array<string | number | boolean | null> | null;
};
export type Condition = {
    /**
     * Available fields for Conversations
     */
    field: ConversationsField;
    /**
     * 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?: any | undefined;
};
export type ConversationsFilterCondition = {
    condition: Condition;
};
/** @internal */
export declare const Four$inboundSchema: z.ZodType<Four, z.ZodTypeDef, unknown>;
/** @internal */
export type Four$Outbound = string | number | boolean;
/** @internal */
export declare const Four$outboundSchema: z.ZodType<Four$Outbound, z.ZodTypeDef, Four>;
export declare function fourToJSON(four: Four): string;
export declare function fourFromJSON(jsonString: string): SafeParseResult<Four, SDKValidationError>;
/** @internal */
export declare const Value$inboundSchema: z.ZodType<Value, z.ZodTypeDef, unknown>;
/** @internal */
export type Value$Outbound = string | number | boolean | Array<string | number | boolean | null>;
/** @internal */
export declare const Value$outboundSchema: z.ZodType<Value$Outbound, z.ZodTypeDef, Value>;
export declare function valueToJSON(value: Value): string;
export declare function valueFromJSON(jsonString: string): SafeParseResult<Value, SDKValidationError>;
/** @internal */
export declare const Seven$inboundSchema: z.ZodType<Seven, z.ZodTypeDef, unknown>;
/** @internal */
export type Seven$Outbound = {
    path: Array<string>;
    value: string | number | boolean | Array<string | number | boolean | null> | null;
};
/** @internal */
export declare const Seven$outboundSchema: z.ZodType<Seven$Outbound, z.ZodTypeDef, Seven>;
export declare function sevenToJSON(seven: Seven): string;
export declare function sevenFromJSON(jsonString: string): SafeParseResult<Seven, SDKValidationError>;
/** @internal */
export declare const Condition$inboundSchema: z.ZodType<Condition, z.ZodTypeDef, unknown>;
/** @internal */
export type Condition$Outbound = {
    field: string;
    operator: string;
    value?: any | undefined;
};
/** @internal */
export declare const Condition$outboundSchema: z.ZodType<Condition$Outbound, z.ZodTypeDef, Condition>;
export declare function conditionToJSON(condition: Condition): string;
export declare function conditionFromJSON(jsonString: string): SafeParseResult<Condition, SDKValidationError>;
/** @internal */
export declare const ConversationsFilterCondition$inboundSchema: z.ZodType<ConversationsFilterCondition, z.ZodTypeDef, unknown>;
/** @internal */
export type ConversationsFilterCondition$Outbound = {
    condition: Condition$Outbound;
};
/** @internal */
export declare const ConversationsFilterCondition$outboundSchema: z.ZodType<ConversationsFilterCondition$Outbound, z.ZodTypeDef, ConversationsFilterCondition>;
export declare function conversationsFilterConditionToJSON(conversationsFilterCondition: ConversationsFilterCondition): string;
export declare function conversationsFilterConditionFromJSON(jsonString: string): SafeParseResult<ConversationsFilterCondition, SDKValidationError>;
//# sourceMappingURL=conversationsfiltercondition.d.ts.map