import { ConvergenceSession } from "../ConvergenceSession"; import { ConvergenceEventEmitter, PagedData } from "../util"; import { IChatEvent } from "./events"; import { Chat } from "./Chat"; import { DirectChat } from "./DirectChat"; import { ChatPermissionManager } from "./ChatPermissionManager"; import { DomainUserId } from "../identity"; import { IChatInfo } from "./IChatInfo"; import { IChatSearchCriteria } from "./ChatSearchCriteria"; import { ICreateChatChannelOptions } from "./ICreateChatChannelOptions"; export declare interface IChatServiceEvents { readonly MESSAGE: string; readonly USER_JOINED: string; readonly USER_LEFT: string; readonly USER_ADDED: string; readonly USER_REMOVED: string; readonly CHANNEL_JOINED: string; readonly CHANNEL_LEFT: string; } export declare class ChatService extends ConvergenceEventEmitter { static readonly Events: IChatServiceEvents; session(): ConvergenceSession; search(criteria: IChatSearchCriteria): Promise>; exists(chatId: string): Promise; exists(chatIds: string[]): Promise>; get(chatIds: string[]): Promise>; get(chatId: string): Promise; joined(): Promise; create(options: ICreateChatChannelOptions): Promise; remove(chatId: string): Promise; join(chatId: string): Promise; leave(chatId: string): Promise; direct(user: string | DomainUserId): Promise; direct(users: (string | DomainUserId)[]): Promise; direct(userLists: (string | DomainUserId)[][]): Promise; permissions(chatId: string): ChatPermissionManager; }