import { ChatMessageViewModel } from "../viewmodel/ChatMessageViewModel";
import { ChatModel } from "../model/ChatModel";
import { MarkDownService } from "../../common/service/MarkDownService";
import { EncryptionService } from "../../common/service/EncryptionService";
import { NotificationService } from "../../common/service/NotificationService";
import { UserModel } from "../model/UserModel";

export interface ChatViewDeps {
    chatModel: ChatModel;
    messageContainer: HTMLElement;
    messageSendTemplate: Handlebars.TemplateDelegate<ChatMessageViewModel>;
    messageReceiveTemplate: Handlebars.TemplateDelegate<ChatMessageViewModel>;
    markdownService: MarkDownService;
    encryptionService: EncryptionService;
    notificationService: NotificationService;
    userModel: UserModel
}