import * as z from "zod";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import { EventsField } from "./eventsfield.js";
import { EventsFilterConditionValue, EventsFilterConditionValue$Outbound } from "./eventsfilterconditionvalue.js";
import { FilterOperator } from "./filteroperator.js";
export type EventsFilterConditionCondition = {
    /**
     * Available fields for Events
     */
    field: EventsField;
    /**
     * 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: EventsFilterConditionValue;
};
export type EventsFilterCondition = {
    condition: EventsFilterConditionCondition;
};
/** @internal */
export declare const EventsFilterConditionCondition$inboundSchema: z.ZodType<EventsFilterConditionCondition, z.ZodTypeDef, unknown>;
/** @internal */
export type EventsFilterConditionCondition$Outbound = {
    field: string;
    operator: string;
    value: EventsFilterConditionValue$Outbound;
};
/** @internal */
export declare const EventsFilterConditionCondition$outboundSchema: z.ZodType<EventsFilterConditionCondition$Outbound, z.ZodTypeDef, EventsFilterConditionCondition>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace EventsFilterConditionCondition$ {
    /** @deprecated use `EventsFilterConditionCondition$inboundSchema` instead. */
    const inboundSchema: z.ZodType<EventsFilterConditionCondition, z.ZodTypeDef, unknown>;
    /** @deprecated use `EventsFilterConditionCondition$outboundSchema` instead. */
    const outboundSchema: z.ZodType<EventsFilterConditionCondition$Outbound, z.ZodTypeDef, EventsFilterConditionCondition>;
    /** @deprecated use `EventsFilterConditionCondition$Outbound` instead. */
    type Outbound = EventsFilterConditionCondition$Outbound;
}
export declare function eventsFilterConditionConditionToJSON(eventsFilterConditionCondition: EventsFilterConditionCondition): string;
export declare function eventsFilterConditionConditionFromJSON(jsonString: string): SafeParseResult<EventsFilterConditionCondition, SDKValidationError>;
/** @internal */
export declare const EventsFilterCondition$inboundSchema: z.ZodType<EventsFilterCondition, z.ZodTypeDef, unknown>;
/** @internal */
export type EventsFilterCondition$Outbound = {
    condition: EventsFilterConditionCondition$Outbound;
};
/** @internal */
export declare const EventsFilterCondition$outboundSchema: z.ZodType<EventsFilterCondition$Outbound, z.ZodTypeDef, EventsFilterCondition>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace EventsFilterCondition$ {
    /** @deprecated use `EventsFilterCondition$inboundSchema` instead. */
    const inboundSchema: z.ZodType<EventsFilterCondition, z.ZodTypeDef, unknown>;
    /** @deprecated use `EventsFilterCondition$outboundSchema` instead. */
    const outboundSchema: z.ZodType<EventsFilterCondition$Outbound, z.ZodTypeDef, EventsFilterCondition>;
    /** @deprecated use `EventsFilterCondition$Outbound` instead. */
    type Outbound = EventsFilterCondition$Outbound;
}
export declare function eventsFilterConditionToJSON(eventsFilterCondition: EventsFilterCondition): string;
export declare function eventsFilterConditionFromJSON(jsonString: string): SafeParseResult<EventsFilterCondition, SDKValidationError>;
//# sourceMappingURL=eventsfiltercondition.d.ts.map