import { Subject } from "rxjs"; import { HttpClient, HttpResponseBase } from "@angular/common/http"; import "rxjs/add/observable/fromPromise"; import "rxjs/add/observable/of"; import "rxjs/add/observable/throw"; import "rxjs/add/operator/map"; import "rxjs/add/operator/toPromise"; import "rxjs/add/operator/mergeMap"; import "rxjs/add/operator/catch"; import { IChatBotAction, IChatBotUserInputAction } from "./chat-bot-action.service"; import { AskInput } from "./models/ask-input"; export declare class AskOutputDto implements IAskOutputDto { question: string | undefined; response: string | undefined; media: string | undefined; mediaType: string | undefined; actions?: IChatBotAction[] | undefined; userActions?: IChatBotUserInputAction[] | undefined; constructor(data?: IAskOutputDto); init(data?: any): void; static fromJS(data: any): AskOutputDto; toJSON(data?: any): any; } export interface IAskOutputDto { question: string | undefined; response: string | undefined; actions?: IChatBotAction[] | undefined; userActions?: IChatBotUserInputAction[] | undefined; } export interface BotStatus { enabled: boolean; conversionStarted: boolean; } export interface BotData { url: string; } export declare class ChatBotService { private http; _waitingAnswer: string; apiPath: string; messages: Array; waitingInputFor: IChatBotAction; waitingWizard: AskOutputDto; actionIndex: number; useCache: boolean; onMessageReceived: Subject; private _botData; private _botStatus; botStatus: Subject; protected jsonParseReviver: ((key: string, value: any) => any) | undefined; constructor(http: HttpClient); readonly isEnabled: boolean; getConversations(): void; cancelInteraction(msg: string, response: string, silent?: boolean): void; sendLocalMessage(msg: string, response: string, showActionNext?: IChatBotAction): void; sendMessage(msg: string, showIfInvisible?: boolean, wasUserInput?: boolean): Promise; showBot(): void; toggleBot(): void; makeSureEachActionHasCancel(messages: AskOutputDto[]): AskOutputDto[]; makeSureHasCancelAction(actionArr: IChatBotUserInputAction[]): IChatBotUserInputAction[]; hasCancelMethod(action: any): void; cleanCachedMessages(): AskOutputDto[]; /** * @question (optional) * @return Success */ ask(question: AskInput | null | undefined): Promise; protected processAsk(response: HttpResponseBase): Promise; }