import { OnDestroy, OnInit } from "@angular/core";
import { HttpFileUploadPlugin } from "../../services/adapters/xmpp/plugins/http-file-upload.plugin";
import { ChatContactClickHandler } from "../../services/chat-contact-click-handler";
import { ChatListStateService, ChatWindowState } from "../../services/chat-list-state.service";
import { ChatService } from "../../services/chat-service";
export declare class ChatWindowComponent implements OnInit, OnDestroy {
    readonly chatService: ChatService;
    private readonly chatListService;
    readonly contactClickHandler: ChatContactClickHandler;
    chatWindowState: ChatWindowState;
    ReplyString: string;
    private readonly messageInput;
    private readonly contactMessageList;
    readonly httpFileUploadPlugin: HttpFileUploadPlugin;
    private readonly ngDestroy;
    constructor(chatService: ChatService, chatListService: ChatListStateService, contactClickHandler: ChatContactClickHandler);
    ngOnInit(): void;
    ngOnDestroy(): void;
    onClickHeader(): void;
    onClickClose(): void;
    sendMessage(): void;
    afterSendMessage(): void;
    uploadFile(file: File): Promise<void>;
    onFocus(): void;
    onActionClick(chatAction: ChatAction): void;
    onContactClick($event: MouseEvent): void;
    newReply(e: any): void;
}
export interface ChatAction {
    cssClass: {
        [className: string]: boolean;
    } | string | string[];
    /**
     * to identify actions
     */
    id: string;
    html: string;
    onClick(chatActionContext: ChatActionContext): void;
}
export interface ChatActionContext {
    contact: string;
    chatWindow: ChatWindowComponent;
}
