import { MatrixClient } from "../client"; import { GroupCall } from "./groupCall"; import { RoomMember } from "../models/room-member"; export declare enum GroupCallEventHandlerEvent { Incoming = "GroupCall.incoming", Outgoing = "GroupCall.outgoing", Ended = "GroupCall.ended", Participants = "GroupCall.participants" } export type GroupCallEventHandlerEventHandlerMap = { [GroupCallEventHandlerEvent.Incoming]: (call: GroupCall) => void; [GroupCallEventHandlerEvent.Outgoing]: (call: GroupCall) => void; [GroupCallEventHandlerEvent.Ended]: (call: GroupCall) => void; [GroupCallEventHandlerEvent.Participants]: (participants: RoomMember[], call: GroupCall) => void; }; export declare class GroupCallEventHandler { private client; groupCalls: Map; private roomDeferreds; constructor(client: MatrixClient); start(): Promise; stop(): void; private getRoomDeferred; waitUntilRoomReadyForGroupCalls(roomId: string): Promise; getGroupCallById(groupCallId: string): GroupCall | undefined; private createGroupCallForRoom; private createGroupCallFromRoomStateEvent; private onRoomsChanged; private onRoomStateChanged; } //# sourceMappingURL=groupCallEventHandler.d.ts.map