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 FeedbackTimeBasedGroupBySelectionField: {
    readonly Id: "id";
    readonly Type: "type";
    readonly MessageId: "messageId";
    readonly CreatedAt: "createdAt";
    readonly UpdatedAt: "updatedAt";
    readonly OrganizationId: "organizationId";
    readonly Reasons: "reasons";
    readonly Sources: "sources";
    readonly Details: "details";
    readonly Properties: "properties";
    readonly UserProperties: "userProperties";
    readonly ConversationId: "conversationId";
    readonly ProjectId: "projectId";
    readonly IntegrationId: "integrationId";
};
export type FeedbackTimeBasedGroupBySelectionField = ClosedEnum<typeof FeedbackTimeBasedGroupBySelectionField>;
export type FeedbackTimeBasedGroupBySelection = {
    type: "time";
    /**
     * Valid time units for time-based operations
     */
    timeUnit: TimeUnit;
    field?: FeedbackTimeBasedGroupBySelectionField | undefined;
};
/** @internal */
export declare const FeedbackTimeBasedGroupBySelectionField$inboundSchema: z.ZodNativeEnum<typeof FeedbackTimeBasedGroupBySelectionField>;
/** @internal */
export declare const FeedbackTimeBasedGroupBySelectionField$outboundSchema: z.ZodNativeEnum<typeof FeedbackTimeBasedGroupBySelectionField>;
/** @internal */
export declare const FeedbackTimeBasedGroupBySelection$inboundSchema: z.ZodType<FeedbackTimeBasedGroupBySelection, z.ZodTypeDef, unknown>;
/** @internal */
export type FeedbackTimeBasedGroupBySelection$Outbound = {
    type: "time";
    timeUnit: string;
    field?: string | undefined;
};
/** @internal */
export declare const FeedbackTimeBasedGroupBySelection$outboundSchema: z.ZodType<FeedbackTimeBasedGroupBySelection$Outbound, z.ZodTypeDef, FeedbackTimeBasedGroupBySelection>;
export declare function feedbackTimeBasedGroupBySelectionToJSON(feedbackTimeBasedGroupBySelection: FeedbackTimeBasedGroupBySelection): string;
export declare function feedbackTimeBasedGroupBySelectionFromJSON(jsonString: string): SafeParseResult<FeedbackTimeBasedGroupBySelection, SDKValidationError>;
//# sourceMappingURL=feedbacktimebasedgroupbyselection.d.ts.map