import type { NLPContext, Slots } from './context'; import type { EndConversationReasons } from './endConversationAction'; import type { InterventionReason } from './interventionRequiredAction'; import type { RequestFieldKey } from '../user-input'; import type { ExtractValues, SchemaOf } from '../helpers'; import { Joi } from '../helpers'; import type { InteractionMode } from './interactionMode'; export declare const conversationSubjectType: readonly ["meeting", "delivery", "manager", "staffOnboard", "bathroom", "companion", "unknown"]; export declare type ConversationSubjectType = ExtractValues; export declare const conversationSubjectTypeSchema: Joi.StringSchema; export declare const startMethod: readonly ["manual", "vision"]; export declare type StartMethod = ExtractValues; export declare const startMethodSchema: Joi.StringSchema; export interface IConversation { conversationId: string; consoleId: string; isHandledByBot: boolean; isFinished: boolean; isMonitored?: boolean; isClaimed: boolean; startedOn: number; interactionMode?: InteractionMode; startedMonitoringOn?: number; requiresInterventionOn?: number; claimedOn?: number; finishedOn?: number; hilId?: string; interventionReason?: InterventionReason; interventionReasonDescription?: string; interventionIntent?: string; interventionIntentConfidence?: number; interventionMessageId?: string; interventionRecordingId?: string; endReason?: EndConversationReasons; endReasonDescription?: string; subject?: ConversationSubjectType; finalIntent?: string; slots?: Slots; nlpContextHistory?: NLPContext[]; nlpContext?: NLPContext; isUserInputPending?: boolean; lastUserInputFieldKey?: RequestFieldKey; startMethod?: StartMethod; faceId?: string; } export declare const conversationRecordDbSchemaMap: SchemaOf; export declare const conversationRecordDbSchema: Joi.ObjectSchema;