@convergence/convergence
Version:
Convergence JavaScript Client
38 lines (37 loc) • 1.73 kB
TypeScript
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;
}