import * as z from "zod/v3";
import { ClosedEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import { TimeUnit } from "./timeunit.js";
export declare const EventsTimeBasedGroupBySelectionField: {
    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 EventsTimeBasedGroupBySelectionField = ClosedEnum<typeof EventsTimeBasedGroupBySelectionField>;
export type EventsTimeBasedGroupBySelection = {
    type: "time";
    /**
     * Valid time units for time-based operations
     */
    timeUnit: TimeUnit;
    field?: EventsTimeBasedGroupBySelectionField | undefined;
};
/** @internal */
export declare const EventsTimeBasedGroupBySelectionField$inboundSchema: z.ZodNativeEnum<typeof EventsTimeBasedGroupBySelectionField>;
/** @internal */
export declare const EventsTimeBasedGroupBySelectionField$outboundSchema: z.ZodNativeEnum<typeof EventsTimeBasedGroupBySelectionField>;
/** @internal */
export declare const EventsTimeBasedGroupBySelection$inboundSchema: z.ZodType<EventsTimeBasedGroupBySelection, z.ZodTypeDef, unknown>;
/** @internal */
export type EventsTimeBasedGroupBySelection$Outbound = {
    type: "time";
    timeUnit: string;
    field?: string | undefined;
};
/** @internal */
export declare const EventsTimeBasedGroupBySelection$outboundSchema: z.ZodType<EventsTimeBasedGroupBySelection$Outbound, z.ZodTypeDef, EventsTimeBasedGroupBySelection>;
export declare function eventsTimeBasedGroupBySelectionToJSON(eventsTimeBasedGroupBySelection: EventsTimeBasedGroupBySelection): string;
export declare function eventsTimeBasedGroupBySelectionFromJSON(jsonString: string): SafeParseResult<EventsTimeBasedGroupBySelection, SDKValidationError>;
//# sourceMappingURL=eventstimebasedgroupbyselection.d.ts.map