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 ConversationsSimpleFieldSelectionField: {
    readonly Id: "id";
    readonly UserMessageCount: "userMessageCount";
    readonly OrganizationId: "organizationId";
    readonly ProjectId: "projectId";
    readonly IntegrationId: "integrationId";
    readonly FirstMessageTime: "firstMessageTime";
    readonly Type: "type";
    readonly Properties: "properties";
    readonly UserProperties: "userProperties";
};
export type ConversationsSimpleFieldSelectionField = ClosedEnum<typeof ConversationsSimpleFieldSelectionField>;
/**
 * 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 Mode: {
    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 Mode = ClosedEnum<typeof Mode>;
export type ConversationsSimpleFieldSelection = {
    type: "field";
    field: ConversationsSimpleFieldSelectionField;
    /**
     * 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?: Mode | undefined;
};
/** @internal */
export declare const ConversationsSimpleFieldSelectionField$inboundSchema: z.ZodNativeEnum<typeof ConversationsSimpleFieldSelectionField>;
/** @internal */
export declare const ConversationsSimpleFieldSelectionField$outboundSchema: z.ZodNativeEnum<typeof ConversationsSimpleFieldSelectionField>;
/** @internal */
export declare const Mode$inboundSchema: z.ZodNativeEnum<typeof Mode>;
/** @internal */
export declare const Mode$outboundSchema: z.ZodNativeEnum<typeof Mode>;
/** @internal */
export declare const ConversationsSimpleFieldSelection$inboundSchema: z.ZodType<ConversationsSimpleFieldSelection, z.ZodTypeDef, unknown>;
/** @internal */
export type ConversationsSimpleFieldSelection$Outbound = {
    type: "field";
    field: string;
    path?: Array<string> | undefined;
    mode?: string | undefined;
};
/** @internal */
export declare const ConversationsSimpleFieldSelection$outboundSchema: z.ZodType<ConversationsSimpleFieldSelection$Outbound, z.ZodTypeDef, ConversationsSimpleFieldSelection>;
export declare function conversationsSimpleFieldSelectionToJSON(conversationsSimpleFieldSelection: ConversationsSimpleFieldSelection): string;
export declare function conversationsSimpleFieldSelectionFromJSON(jsonString: string): SafeParseResult<ConversationsSimpleFieldSelection, SDKValidationError>;
//# sourceMappingURL=conversationssimplefieldselection.d.ts.map