import { ChatBotService, IAskOutputDto } from "./chat-bot.service"; import { ParameterParserService } from "./bot-response-parameter-parser/parameter-parser.service"; import { Subject } from "rxjs"; export interface IChatBotAction { message: string; label: string; actionEvent: string; wishInput: boolean; inputRequired: boolean; acceptWhenAnswered: IChatBotUserInputAction; showIfAnswered: IChatBotUserInputAction[]; followingActions: IChatBotAction[]; userActions: IChatBotUserInputAction[]; } export interface IChatBotUserInputAction { label: string; response: string; inputValue: string; sendRemoteMessage?: string; } export interface CachedValues { action: IChatBotUserInputAction | IChatBotAction; value: any; } export interface InteractionStatus { cachedValues: CachedValues[]; wasSuccess: boolean; } export declare class ChatBotActionService { private _chatBotService; private _parameterParser; private _cachedValues; useCache: boolean; interactionEnded: Subject; constructor(_chatBotService: ChatBotService, _parameterParser: ParameterParserService); userGaveInputFor(action: IChatBotAction, message: IAskOutputDto, msg: string): void; userInputedResponse(action: IChatBotAction, message: IAskOutputDto, msg: string, cacheValue?: boolean, wasRoot?: boolean): void; notifyInteractionEnd(): void; userReactedToInput(action: IChatBotUserInputAction, message: IAskOutputDto, cacheValue?: boolean, wasRoot?: boolean): void; private resolveIntentEndMessage(); private getUserActionForUserInput(action, message); private RootScanActions(action, actions); }