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