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";
import { TimeUnit } from "./timeunit.js";
export declare const SemanticThreadTimeBasedGroupBySelectionType: {
    readonly Time: "time";
};
export type SemanticThreadTimeBasedGroupBySelectionType = ClosedEnum<typeof SemanticThreadTimeBasedGroupBySelectionType>;
export declare const SemanticThreadTimeBasedGroupBySelectionField: {
    readonly Id: "id";
    readonly MessageIds: "messageIds";
    readonly MessagesCount: "messagesCount";
    readonly OrganizationId: "organizationId";
    readonly Question: "question";
    readonly QuestionLength: "questionLength";
    readonly Answer: "answer";
    readonly IsOnTopic: "isOnTopic";
    readonly IsClear: "isClear";
    readonly IsDocumented: "isDocumented";
    readonly IsFeatureSupported: "isFeatureSupported";
    readonly IsAnswerConfident: "isAnswerConfident";
    readonly GapSummary: "gapSummary";
    readonly Subject: "subject";
    readonly Category: "category";
    readonly Languages: "languages";
    readonly FirstPartyEntities: "firstPartyEntities";
    readonly ThirdPartyEntities: "thirdPartyEntities";
    readonly Emotion: "emotion";
    readonly Sentiment: "sentiment";
    readonly QuestionType: "questionType";
    readonly ProjectId: "projectId";
    readonly IntegrationId: "integrationId";
    readonly FirstMessageTime: "firstMessageTime";
    readonly LastMessageTime: "lastMessageTime";
    readonly LastUpdated: "lastUpdated";
    readonly HasPositiveFeedback: "hasPositiveFeedback";
    readonly HasNegativeFeedback: "hasNegativeFeedback";
    readonly ConversationIds: "conversationIds";
    readonly AreAIAnnotationsVerified: "areAIAnnotationsVerified";
    readonly IsInitialQuestionAnswer: "isInitialQuestionAnswer";
};
export type SemanticThreadTimeBasedGroupBySelectionField = ClosedEnum<typeof SemanticThreadTimeBasedGroupBySelectionField>;
export type SemanticThreadTimeBasedGroupBySelection = {
    type: SemanticThreadTimeBasedGroupBySelectionType;
    /**
     * Valid time units for time-based operations
     */
    timeUnit: TimeUnit;
    field?: SemanticThreadTimeBasedGroupBySelectionField | undefined;
};
/** @internal */
export declare const SemanticThreadTimeBasedGroupBySelectionType$inboundSchema: z.ZodNativeEnum<typeof SemanticThreadTimeBasedGroupBySelectionType>;
/** @internal */
export declare const SemanticThreadTimeBasedGroupBySelectionType$outboundSchema: z.ZodNativeEnum<typeof SemanticThreadTimeBasedGroupBySelectionType>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace SemanticThreadTimeBasedGroupBySelectionType$ {
    /** @deprecated use `SemanticThreadTimeBasedGroupBySelectionType$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Time: "time";
    }>;
    /** @deprecated use `SemanticThreadTimeBasedGroupBySelectionType$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Time: "time";
    }>;
}
/** @internal */
export declare const SemanticThreadTimeBasedGroupBySelectionField$inboundSchema: z.ZodNativeEnum<typeof SemanticThreadTimeBasedGroupBySelectionField>;
/** @internal */
export declare const SemanticThreadTimeBasedGroupBySelectionField$outboundSchema: z.ZodNativeEnum<typeof SemanticThreadTimeBasedGroupBySelectionField>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace SemanticThreadTimeBasedGroupBySelectionField$ {
    /** @deprecated use `SemanticThreadTimeBasedGroupBySelectionField$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Id: "id";
        readonly MessageIds: "messageIds";
        readonly MessagesCount: "messagesCount";
        readonly OrganizationId: "organizationId";
        readonly Question: "question";
        readonly QuestionLength: "questionLength";
        readonly Answer: "answer";
        readonly IsOnTopic: "isOnTopic";
        readonly IsClear: "isClear";
        readonly IsDocumented: "isDocumented";
        readonly IsFeatureSupported: "isFeatureSupported";
        readonly IsAnswerConfident: "isAnswerConfident";
        readonly GapSummary: "gapSummary";
        readonly Subject: "subject";
        readonly Category: "category";
        readonly Languages: "languages";
        readonly FirstPartyEntities: "firstPartyEntities";
        readonly ThirdPartyEntities: "thirdPartyEntities";
        readonly Emotion: "emotion";
        readonly Sentiment: "sentiment";
        readonly QuestionType: "questionType";
        readonly ProjectId: "projectId";
        readonly IntegrationId: "integrationId";
        readonly FirstMessageTime: "firstMessageTime";
        readonly LastMessageTime: "lastMessageTime";
        readonly LastUpdated: "lastUpdated";
        readonly HasPositiveFeedback: "hasPositiveFeedback";
        readonly HasNegativeFeedback: "hasNegativeFeedback";
        readonly ConversationIds: "conversationIds";
        readonly AreAIAnnotationsVerified: "areAIAnnotationsVerified";
        readonly IsInitialQuestionAnswer: "isInitialQuestionAnswer";
    }>;
    /** @deprecated use `SemanticThreadTimeBasedGroupBySelectionField$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Id: "id";
        readonly MessageIds: "messageIds";
        readonly MessagesCount: "messagesCount";
        readonly OrganizationId: "organizationId";
        readonly Question: "question";
        readonly QuestionLength: "questionLength";
        readonly Answer: "answer";
        readonly IsOnTopic: "isOnTopic";
        readonly IsClear: "isClear";
        readonly IsDocumented: "isDocumented";
        readonly IsFeatureSupported: "isFeatureSupported";
        readonly IsAnswerConfident: "isAnswerConfident";
        readonly GapSummary: "gapSummary";
        readonly Subject: "subject";
        readonly Category: "category";
        readonly Languages: "languages";
        readonly FirstPartyEntities: "firstPartyEntities";
        readonly ThirdPartyEntities: "thirdPartyEntities";
        readonly Emotion: "emotion";
        readonly Sentiment: "sentiment";
        readonly QuestionType: "questionType";
        readonly ProjectId: "projectId";
        readonly IntegrationId: "integrationId";
        readonly FirstMessageTime: "firstMessageTime";
        readonly LastMessageTime: "lastMessageTime";
        readonly LastUpdated: "lastUpdated";
        readonly HasPositiveFeedback: "hasPositiveFeedback";
        readonly HasNegativeFeedback: "hasNegativeFeedback";
        readonly ConversationIds: "conversationIds";
        readonly AreAIAnnotationsVerified: "areAIAnnotationsVerified";
        readonly IsInitialQuestionAnswer: "isInitialQuestionAnswer";
    }>;
}
/** @internal */
export declare const SemanticThreadTimeBasedGroupBySelection$inboundSchema: z.ZodType<SemanticThreadTimeBasedGroupBySelection, z.ZodTypeDef, unknown>;
/** @internal */
export type SemanticThreadTimeBasedGroupBySelection$Outbound = {
    type: string;
    timeUnit: string;
    field?: string | undefined;
};
/** @internal */
export declare const SemanticThreadTimeBasedGroupBySelection$outboundSchema: z.ZodType<SemanticThreadTimeBasedGroupBySelection$Outbound, z.ZodTypeDef, SemanticThreadTimeBasedGroupBySelection>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace SemanticThreadTimeBasedGroupBySelection$ {
    /** @deprecated use `SemanticThreadTimeBasedGroupBySelection$inboundSchema` instead. */
    const inboundSchema: z.ZodType<SemanticThreadTimeBasedGroupBySelection, z.ZodTypeDef, unknown>;
    /** @deprecated use `SemanticThreadTimeBasedGroupBySelection$outboundSchema` instead. */
    const outboundSchema: z.ZodType<SemanticThreadTimeBasedGroupBySelection$Outbound, z.ZodTypeDef, SemanticThreadTimeBasedGroupBySelection>;
    /** @deprecated use `SemanticThreadTimeBasedGroupBySelection$Outbound` instead. */
    type Outbound = SemanticThreadTimeBasedGroupBySelection$Outbound;
}
export declare function semanticThreadTimeBasedGroupBySelectionToJSON(semanticThreadTimeBasedGroupBySelection: SemanticThreadTimeBasedGroupBySelection): string;
export declare function semanticThreadTimeBasedGroupBySelectionFromJSON(jsonString: string): SafeParseResult<SemanticThreadTimeBasedGroupBySelection, SDKValidationError>;
//# sourceMappingURL=semanticthreadtimebasedgroupbyselection.d.ts.map