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";
export declare const EventsAggregationSelectionType: {
    readonly Aggregation: "aggregation";
};
export type EventsAggregationSelectionType = ClosedEnum<typeof EventsAggregationSelectionType>;
export declare const EventsAggregationSelectionAggregation: {
    readonly Sum: "sum";
    readonly Count: "count";
    readonly Avg: "avg";
    readonly Min: "min";
    readonly Max: "max";
};
export type EventsAggregationSelectionAggregation = ClosedEnum<typeof EventsAggregationSelectionAggregation>;
export declare const EventsAggregationSelectionField: {
    readonly Id: "id";
    readonly OrganizationId: "organizationId";
    readonly MessageId: "messageId";
    readonly ConversationId: "conversationId";
    readonly CreatedAt: "createdAt";
    readonly ProjectId: "projectId";
    readonly IntegrationId: "integrationId";
    readonly EventType: "eventType";
    readonly Type: "type";
    readonly SearchQuery: "searchQuery";
    readonly Properties: "properties";
    readonly UserProperties: "userProperties";
};
export type EventsAggregationSelectionField = ClosedEnum<typeof EventsAggregationSelectionField>;
export type EventsAggregationSelection = {
    type: EventsAggregationSelectionType;
    aggregation: EventsAggregationSelectionAggregation;
    field?: EventsAggregationSelectionField | undefined;
};
/** @internal */
export declare const EventsAggregationSelectionType$inboundSchema: z.ZodNativeEnum<typeof EventsAggregationSelectionType>;
/** @internal */
export declare const EventsAggregationSelectionType$outboundSchema: z.ZodNativeEnum<typeof EventsAggregationSelectionType>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace EventsAggregationSelectionType$ {
    /** @deprecated use `EventsAggregationSelectionType$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Aggregation: "aggregation";
    }>;
    /** @deprecated use `EventsAggregationSelectionType$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Aggregation: "aggregation";
    }>;
}
/** @internal */
export declare const EventsAggregationSelectionAggregation$inboundSchema: z.ZodNativeEnum<typeof EventsAggregationSelectionAggregation>;
/** @internal */
export declare const EventsAggregationSelectionAggregation$outboundSchema: z.ZodNativeEnum<typeof EventsAggregationSelectionAggregation>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace EventsAggregationSelectionAggregation$ {
    /** @deprecated use `EventsAggregationSelectionAggregation$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Sum: "sum";
        readonly Count: "count";
        readonly Avg: "avg";
        readonly Min: "min";
        readonly Max: "max";
    }>;
    /** @deprecated use `EventsAggregationSelectionAggregation$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Sum: "sum";
        readonly Count: "count";
        readonly Avg: "avg";
        readonly Min: "min";
        readonly Max: "max";
    }>;
}
/** @internal */
export declare const EventsAggregationSelectionField$inboundSchema: z.ZodNativeEnum<typeof EventsAggregationSelectionField>;
/** @internal */
export declare const EventsAggregationSelectionField$outboundSchema: z.ZodNativeEnum<typeof EventsAggregationSelectionField>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace EventsAggregationSelectionField$ {
    /** @deprecated use `EventsAggregationSelectionField$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Id: "id";
        readonly OrganizationId: "organizationId";
        readonly MessageId: "messageId";
        readonly ConversationId: "conversationId";
        readonly CreatedAt: "createdAt";
        readonly ProjectId: "projectId";
        readonly IntegrationId: "integrationId";
        readonly EventType: "eventType";
        readonly Type: "type";
        readonly SearchQuery: "searchQuery";
        readonly Properties: "properties";
        readonly UserProperties: "userProperties";
    }>;
    /** @deprecated use `EventsAggregationSelectionField$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Id: "id";
        readonly OrganizationId: "organizationId";
        readonly MessageId: "messageId";
        readonly ConversationId: "conversationId";
        readonly CreatedAt: "createdAt";
        readonly ProjectId: "projectId";
        readonly IntegrationId: "integrationId";
        readonly EventType: "eventType";
        readonly Type: "type";
        readonly SearchQuery: "searchQuery";
        readonly Properties: "properties";
        readonly UserProperties: "userProperties";
    }>;
}
/** @internal */
export declare const EventsAggregationSelection$inboundSchema: z.ZodType<EventsAggregationSelection, z.ZodTypeDef, unknown>;
/** @internal */
export type EventsAggregationSelection$Outbound = {
    type: string;
    aggregation: string;
    field?: string | undefined;
};
/** @internal */
export declare const EventsAggregationSelection$outboundSchema: z.ZodType<EventsAggregationSelection$Outbound, z.ZodTypeDef, EventsAggregationSelection>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace EventsAggregationSelection$ {
    /** @deprecated use `EventsAggregationSelection$inboundSchema` instead. */
    const inboundSchema: z.ZodType<EventsAggregationSelection, z.ZodTypeDef, unknown>;
    /** @deprecated use `EventsAggregationSelection$outboundSchema` instead. */
    const outboundSchema: z.ZodType<EventsAggregationSelection$Outbound, z.ZodTypeDef, EventsAggregationSelection>;
    /** @deprecated use `EventsAggregationSelection$Outbound` instead. */
    type Outbound = EventsAggregationSelection$Outbound;
}
export declare function eventsAggregationSelectionToJSON(eventsAggregationSelection: EventsAggregationSelection): string;
export declare function eventsAggregationSelectionFromJSON(jsonString: string): SafeParseResult<EventsAggregationSelection, SDKValidationError>;
//# sourceMappingURL=eventsaggregationselection.d.ts.map