import { NLUEntity, NLUIntent, IncomingMessage } from '../message/types'; export interface RasaIncomingRequest { next_action: string; sender_id: string; tracker: RasaTrackerData; } export interface RasaTrackerData { latest_message: RasaIncomingRequestLatestMessage; slots: Record; events: RasaEvent[]; } export interface RasaVtexMetadata { conversationId: string; accountName: string; lang: string; } export declare type RasaSlots = Record; export interface RasaIncomingRequestLatestMessage { text: string; intent: NLUIntent; entities: NLUEntity[]; metadata: RasaVtexMetadata; } export interface RasaChatbotIncomingMessage extends IncomingMessage { slots: T; nextAction: string; metadata: RasaVtexMetadata; events: RasaEvent[]; } export interface RasaResponse { responses?: RasaOutgoingMessage[]; events?: RasaEvent[]; } export interface RasaOutgoingMessage { text: string; buttons?: RasaOutgoingMessageButton[]; } export interface RasaOutgoingMessageButton { title: string; payload?: string; } export interface RasaEvent { event: RasaEventType; } export interface RasaSlotEvent extends RasaEvent { event: RasaEventType.SLOT; name: string; value: unknown; } export interface RasaActionEvent extends RasaEvent { event: RasaEventType.ACTION; name: string; } export declare enum RasaEventType { ACTION = "action", SLOT = "slot" }