@convergence/convergence
Version:
Convergence JavaScript Client
44 lines (43 loc) • 1.58 kB
TypeScript
import { ActivityParticipant } from "./ActivityParticipant";
import { IActivityEvent } from "./events";
import { Observable } from "rxjs";
import { ConvergenceSession } from "../ConvergenceSession";
import { IActivityJoinOptions } from "./IActivityJoinOptions";
import { ConvergenceEventEmitter } from "../util/";
import { StringMapLike } from "../util/StringMap";
import { ActivityPermissionManager } from "./ActivityPermissionManager";
export declare class Activity extends ConvergenceEventEmitter<IActivityEvent> {
static readonly Events: {
SESSION_JOINED: string;
SESSION_LEFT: string;
STATE_SET: string;
STATE_CLEARED: string;
STATE_REMOVED: string;
STATE_DELTA: string;
LEFT: string;
DELETED: string;
FORCE_LEAVE: string;
};
session(): ConvergenceSession;
type(): string;
id(): string;
createdTime(): Date;
isEphemeral(): boolean;
permissions(): ActivityPermissionManager;
leave(): Promise<void>;
isJoined(): boolean;
state(): Map<string, any>;
setState(key: string, value: any): void;
setState(state: StringMapLike): void;
removeState(key: string): void;
removeState(keys: string[]): void;
clearState(): void;
participant(sessionId: string): ActivityParticipant;
participants(): ActivityParticipant[];
participantsAsObservable(): Observable<ActivityParticipant[]>;
_join(options?: IActivityJoinOptions): void;
_whenJoined(): Promise<void>;
private _setOnline;
private _setOffline;
private _sendStateUpdate;
}