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";
export declare const EventsSimpleFieldSelectionField: {
    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 EventsSimpleFieldSelectionField = ClosedEnum<typeof EventsSimpleFieldSelectionField>;
/**
 * Export mode for JSON fields (properties, userProperties). "unpack" (default): Flattens JSON into separate columns (e.g., properties.key1, properties.key2). "json": Exports the entire JSON object as a single stringified column. Only applicable to JSON fields like properties and userProperties.
 */
export declare const EventsSimpleFieldSelectionMode: {
    readonly Unpack: "unpack";
    readonly Json: "json";
};
/**
 * Export mode for JSON fields (properties, userProperties). "unpack" (default): Flattens JSON into separate columns (e.g., properties.key1, properties.key2). "json": Exports the entire JSON object as a single stringified column. Only applicable to JSON fields like properties and userProperties.
 */
export type EventsSimpleFieldSelectionMode = ClosedEnum<typeof EventsSimpleFieldSelectionMode>;
export type EventsSimpleFieldSelection = {
    type: "field";
    field: EventsSimpleFieldSelectionField;
    /**
     * Path to a nested property within a JSON field. Cannot be used when mode is "json".
     */
    path?: Array<string> | undefined;
    /**
     * Export mode for JSON fields (properties, userProperties). "unpack" (default): Flattens JSON into separate columns (e.g., properties.key1, properties.key2). "json": Exports the entire JSON object as a single stringified column. Only applicable to JSON fields like properties and userProperties.
     */
    mode?: EventsSimpleFieldSelectionMode | undefined;
};
/** @internal */
export declare const EventsSimpleFieldSelectionField$inboundSchema: z.ZodNativeEnum<typeof EventsSimpleFieldSelectionField>;
/** @internal */
export declare const EventsSimpleFieldSelectionField$outboundSchema: z.ZodNativeEnum<typeof EventsSimpleFieldSelectionField>;
/** @internal */
export declare const EventsSimpleFieldSelectionMode$inboundSchema: z.ZodNativeEnum<typeof EventsSimpleFieldSelectionMode>;
/** @internal */
export declare const EventsSimpleFieldSelectionMode$outboundSchema: z.ZodNativeEnum<typeof EventsSimpleFieldSelectionMode>;
/** @internal */
export declare const EventsSimpleFieldSelection$inboundSchema: z.ZodType<EventsSimpleFieldSelection, z.ZodTypeDef, unknown>;
/** @internal */
export type EventsSimpleFieldSelection$Outbound = {
    type: "field";
    field: string;
    path?: Array<string> | undefined;
    mode?: string | undefined;
};
/** @internal */
export declare const EventsSimpleFieldSelection$outboundSchema: z.ZodType<EventsSimpleFieldSelection$Outbound, z.ZodTypeDef, EventsSimpleFieldSelection>;
export declare function eventsSimpleFieldSelectionToJSON(eventsSimpleFieldSelection: EventsSimpleFieldSelection): string;
export declare function eventsSimpleFieldSelectionFromJSON(jsonString: string): SafeParseResult<EventsSimpleFieldSelection, SDKValidationError>;
//# sourceMappingURL=eventssimplefieldselection.d.ts.map