import { OnDestroy } from '@angular/core';
import { HttpClient, HttpHeaders } from '@angular/common/http';
import { Subject, Observable, Subscription } from 'rxjs';
import { IMessageActivity } from '../model/conversation.model';
import { AriConfig } from '../model/ari-bot.mode';
import { PubsubService } from './pubsub.service';
import 'moment-timezone';
import { CommonService } from './common.service';
import * as i0 from "@angular/core";
export declare class AriBotService implements OnDestroy {
    private httpClient;
    private pubsub;
    private commonService;
    private config;
    private unsubscribe$;
    private ariCreds;
    private ariCreds$;
    private _botResponse$;
    hasInitializedConversation: boolean;
    hasConversations: boolean;
    private reset$;
    timer$: Observable<any>;
    subscription: Subscription;
    auth: any;
    baseUrlproject: any;
    project: number;
    initMessage: any;
    assistantName: string;
    ariBotConversationId: string;
    currentLocation: any;
    locationAccess$: Subject<boolean>;
    get locationStatusChanged(): Observable<boolean>;
    constructor(httpClient: HttpClient, pubsub: PubsubService, commonService: CommonService, config: AriConfig);
    botResponse$(): Observable<any>;
    ariTimeout(): void;
    refreshTimer(): void;
    stopTimer(): void;
    subscribeToConversations(): Subscription;
    private getConversations;
    paginateTasks(params: any): Observable<any>;
    private getInitialWelcomeMessage;
    protected commonStateChangeHeaders(): any;
    get initHeaders(): HttpHeaders;
    getWelcomeMessage(locationPermission?: boolean): void;
    initConversation(): void;
    get conversationHeader(): HttpHeaders;
    sendMessage(message: IMessageActivity): void;
    private taskActionMoveTo;
    taskMoveTo(payload: any): Promise<any>;
    private taskActionTrash;
    taskTrash(id: any): Promise<any>;
    resetConversation(): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<AriBotService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<AriBotService>;
}
