import { UserModel } from "../model/UserModel";

import { ChatModel } from "../model/ChatModel";

import { SearchService } from "../../common/service/SearchService";

import { ActiveUserViewModel } from "../viewmodel/ActiveUserViewModel";
import { NotificationService } from "../../common/service/NotificationService";

export interface UserViewDeps {
    model: UserModel;
    chatModel: ChatModel;
    usersListElement: HTMLElement;
    userSearchInputElement: HTMLInputElement;
    userSearchButton: HTMLElement;
    userSearchCancelButton: HTMLElement;
    searchService: SearchService<ActiveUserViewModel>;
    userContactOnlineTemplate: Handlebars.TemplateDelegate<ActiveUserViewModel>;
    userContactOfflineTemplate: Handlebars.TemplateDelegate<ActiveUserViewModel>;
    notificationService: NotificationService;
}