1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
import { WidgetApi } from "matrix-widget-api";
import { ISendEventResponse } from "./@types/requests";
import { MatrixClient, IMatrixClientCreateOpts, IStartClientOpts, SendToDeviceContentMap } from "./client";
import { SyncState } from "./sync";
import { MatrixEvent } from "./models/event";
import { Room } from "./models/room";
import { ToDeviceBatch } from "./models/ToDeviceMessage";
import { DeviceInfo } from "./crypto/deviceinfo";
import { IOlmDevice } from "./crypto/algorithms/megolm";
interface IStateEventRequest {
eventType: string;
stateKey?: string;
}
export interface ICapabilities {
/**
* Event types that this client expects to send.
*/
sendEvent?: string[];
/**
* Event types that this client expects to receive.
*/
receiveEvent?: string[];
/**
* Message types that this client expects to send, or true for all message
* types.
*/
sendMessage?: string[] | true;
/**
* Message types that this client expects to receive, or true for all
* message types.
*/
receiveMessage?: string[] | true;
/**
* Types of state events that this client expects to send.
*/
sendState?: IStateEventRequest[];
/**
* Types of state events that this client expects to receive.
*/
receiveState?: IStateEventRequest[];
/**
* To-device event types that this client expects to send.
*/
sendToDevice?: string[];
/**
* To-device event types that this client expects to receive.
*/
receiveToDevice?: string[];
/**
* Whether this client needs access to TURN servers.
* @defaultValue false
*/
turnServers?: boolean;
}
/**
* A MatrixClient that routes its requests through the widget API instead of the
* real CS API.
* @experimental This class is considered unstable!
*/
export declare class RoomWidgetClient extends MatrixClient {
private readonly widgetApi;
private readonly capabilities;
private readonly roomId;
private room?;
private widgetApiReady;
private lifecycle?;
private syncState;
constructor(widgetApi: WidgetApi, capabilities: ICapabilities, roomId: string, opts: IMatrixClientCreateOpts);
startClient(opts?: IStartClientOpts): Promise<void>;
stopClient(): void;
joinRoom(roomIdOrAlias: string): Promise<Room>;
protected encryptAndSendEvent(room: Room, event: MatrixEvent): Promise<ISendEventResponse>;
sendStateEvent(roomId: string, eventType: string, content: any, stateKey?: string): Promise<ISendEventResponse>;
sendToDevice(eventType: string, contentMap: SendToDeviceContentMap): Promise<{}>;
queueToDevice({ eventType, batch }: ToDeviceBatch): Promise<void>;
encryptAndSendToDevices(userDeviceInfoArr: IOlmDevice<DeviceInfo>[], payload: object): Promise<void>;
checkTurnServers(): Promise<boolean>;
getSyncState(): SyncState | null;
private setSyncState;
private ack;
private onEvent;
private onToDevice;
private watchTurnServers;
}
export {};
//# sourceMappingURL=embedded.d.ts.map
|