export interface NLUIntent { name: string; confidence?: number; } export interface NLUEntity { entity: string; value: string | number; group: string; additional_info?: { unit: string; }; } export interface IncomingMessage { senderId: string; text: string; intent?: NLUIntent; entities: NLUEntity[]; } export interface OutgoingResponse { message: OutgoingMessage; extraData?: Record; } export interface OutgoingMessage { text: string; buttons?: OutgoingMessageButton[]; } export interface OutgoingMessageButton { text: string; extra?: Record; }