UNPKG

@convergence/convergence

Version:
38 lines (37 loc) 1.73 kB
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<IChatEvent> { static readonly Events: IChatServiceEvents; session(): ConvergenceSession; search(criteria: IChatSearchCriteria): Promise<PagedData<IChatInfo>>; exists(chatId: string): Promise<boolean>; exists(chatIds: string[]): Promise<Map<string, boolean>>; get(chatIds: string[]): Promise<Map<string, Chat>>; get(chatId: string): Promise<Chat>; joined(): Promise<IChatInfo[]>; create(options: ICreateChatChannelOptions): Promise<string>; remove(chatId: string): Promise<void>; join(chatId: string): Promise<Chat>; leave(chatId: string): Promise<void>; direct(user: string | DomainUserId): Promise<DirectChat>; direct(users: (string | DomainUserId)[]): Promise<DirectChat>; direct(userLists: (string | DomainUserId)[][]): Promise<DirectChat[]>; permissions(chatId: string): ChatPermissionManager; }