import * as z from "zod";
import { ClosedEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import { ConversationsFilterAND, ConversationsFilterAND$Outbound } from "./conversationsfilterand.js";
import { ConversationsFilterCondition, ConversationsFilterCondition$Outbound } from "./conversationsfiltercondition.js";
import { ConversationsFilterOR, ConversationsFilterOR$Outbound } from "./conversationsfilteror.js";
import { EventsFilterAND, EventsFilterAND$Outbound } from "./eventsfilterand.js";
import { EventsFilterCondition, EventsFilterCondition$Outbound } from "./eventsfiltercondition.js";
import { EventsFilterOR, EventsFilterOR$Outbound } from "./eventsfilteror.js";
import { SemanticThreadFilterAND, SemanticThreadFilterAND$Outbound } from "./semanticthreadfilterand.js";
import { SemanticThreadFilterCondition, SemanticThreadFilterCondition$Outbound } from "./semanticthreadfiltercondition.js";
import { SemanticThreadFilterOR, SemanticThreadFilterOR$Outbound } from "./semanticthreadfilteror.js";
export declare const PropertyKeysRequestBodyField: {
    readonly Properties: "properties";
    readonly UserProperties: "userProperties";
};
export type PropertyKeysRequestBodyField = ClosedEnum<typeof PropertyKeysRequestBodyField>;
export declare const Views: {
    readonly EventsView: "events_view";
    readonly ConversationsView: "conversations_view";
    readonly SemanticThreadsView: "semantic_threads_view";
    readonly FeedbackView: "feedback_view";
};
export type Views = ClosedEnum<typeof Views>;
export type Where = EventsFilterCondition | EventsFilterAND | EventsFilterOR | ConversationsFilterCondition | ConversationsFilterAND | ConversationsFilterOR | SemanticThreadFilterCondition | SemanticThreadFilterAND | SemanticThreadFilterOR;
/**
 * Query Property Keys Params
 */
export type PropertyKeysRequestBody = {
    field: PropertyKeysRequestBodyField;
    /**
     * Optional list of views to query (defaults to all views)
     */
    views?: Array<Views> | undefined;
    where?: EventsFilterCondition | EventsFilterAND | EventsFilterOR | ConversationsFilterCondition | ConversationsFilterAND | ConversationsFilterOR | SemanticThreadFilterCondition | SemanticThreadFilterAND | SemanticThreadFilterOR | undefined;
};
/** @internal */
export declare const PropertyKeysRequestBodyField$inboundSchema: z.ZodNativeEnum<typeof PropertyKeysRequestBodyField>;
/** @internal */
export declare const PropertyKeysRequestBodyField$outboundSchema: z.ZodNativeEnum<typeof PropertyKeysRequestBodyField>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace PropertyKeysRequestBodyField$ {
    /** @deprecated use `PropertyKeysRequestBodyField$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Properties: "properties";
        readonly UserProperties: "userProperties";
    }>;
    /** @deprecated use `PropertyKeysRequestBodyField$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Properties: "properties";
        readonly UserProperties: "userProperties";
    }>;
}
/** @internal */
export declare const Views$inboundSchema: z.ZodNativeEnum<typeof Views>;
/** @internal */
export declare const Views$outboundSchema: z.ZodNativeEnum<typeof Views>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Views$ {
    /** @deprecated use `Views$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly EventsView: "events_view";
        readonly ConversationsView: "conversations_view";
        readonly SemanticThreadsView: "semantic_threads_view";
        readonly FeedbackView: "feedback_view";
    }>;
    /** @deprecated use `Views$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly EventsView: "events_view";
        readonly ConversationsView: "conversations_view";
        readonly SemanticThreadsView: "semantic_threads_view";
        readonly FeedbackView: "feedback_view";
    }>;
}
/** @internal */
export declare const Where$inboundSchema: z.ZodType<Where, z.ZodTypeDef, unknown>;
/** @internal */
export type Where$Outbound = EventsFilterCondition$Outbound | EventsFilterAND$Outbound | EventsFilterOR$Outbound | ConversationsFilterCondition$Outbound | ConversationsFilterAND$Outbound | ConversationsFilterOR$Outbound | SemanticThreadFilterCondition$Outbound | SemanticThreadFilterAND$Outbound | SemanticThreadFilterOR$Outbound;
/** @internal */
export declare const Where$outboundSchema: z.ZodType<Where$Outbound, z.ZodTypeDef, Where>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Where$ {
    /** @deprecated use `Where$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Where, z.ZodTypeDef, unknown>;
    /** @deprecated use `Where$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Where$Outbound, z.ZodTypeDef, Where>;
    /** @deprecated use `Where$Outbound` instead. */
    type Outbound = Where$Outbound;
}
export declare function whereToJSON(where: Where): string;
export declare function whereFromJSON(jsonString: string): SafeParseResult<Where, SDKValidationError>;
/** @internal */
export declare const PropertyKeysRequestBody$inboundSchema: z.ZodType<PropertyKeysRequestBody, z.ZodTypeDef, unknown>;
/** @internal */
export type PropertyKeysRequestBody$Outbound = {
    field: string;
    views?: Array<string> | undefined;
    where?: EventsFilterCondition$Outbound | EventsFilterAND$Outbound | EventsFilterOR$Outbound | ConversationsFilterCondition$Outbound | ConversationsFilterAND$Outbound | ConversationsFilterOR$Outbound | SemanticThreadFilterCondition$Outbound | SemanticThreadFilterAND$Outbound | SemanticThreadFilterOR$Outbound | undefined;
};
/** @internal */
export declare const PropertyKeysRequestBody$outboundSchema: z.ZodType<PropertyKeysRequestBody$Outbound, z.ZodTypeDef, PropertyKeysRequestBody>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace PropertyKeysRequestBody$ {
    /** @deprecated use `PropertyKeysRequestBody$inboundSchema` instead. */
    const inboundSchema: z.ZodType<PropertyKeysRequestBody, z.ZodTypeDef, unknown>;
    /** @deprecated use `PropertyKeysRequestBody$outboundSchema` instead. */
    const outboundSchema: z.ZodType<PropertyKeysRequestBody$Outbound, z.ZodTypeDef, PropertyKeysRequestBody>;
    /** @deprecated use `PropertyKeysRequestBody$Outbound` instead. */
    type Outbound = PropertyKeysRequestBody$Outbound;
}
export declare function propertyKeysRequestBodyToJSON(propertyKeysRequestBody: PropertyKeysRequestBody): string;
export declare function propertyKeysRequestBodyFromJSON(jsonString: string): SafeParseResult<PropertyKeysRequestBody, SDKValidationError>;
//# sourceMappingURL=propertykeysrequestbody.d.ts.map