blob: 236376173d302fb94972957a2b8ef7086f462f73 (
plain)
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
|
import { ISignatures } from "../@types/signed";
export interface IDevice {
keys: Record<string, string>;
algorithms: string[];
verified: DeviceVerification;
known: boolean;
unsigned?: Record<string, any>;
signatures?: ISignatures;
}
declare enum DeviceVerification {
Blocked = -1,
Unverified = 0,
Verified = 1
}
/**
* Information about a user's device
*/
export declare class DeviceInfo {
readonly deviceId: string;
/**
* rehydrate a DeviceInfo from the session store
*
* @param obj - raw object from session store
* @param deviceId - id of the device
*
* @returns new DeviceInfo
*/
static fromStorage(obj: Partial<IDevice>, deviceId: string): DeviceInfo;
static DeviceVerification: {
VERIFIED: DeviceVerification;
UNVERIFIED: DeviceVerification;
BLOCKED: DeviceVerification;
};
/** list of algorithms supported by this device */
algorithms: string[];
/** a map from `<key type>:<id> -> <base64-encoded key>` */
keys: Record<string, string>;
/** whether the device has been verified/blocked by the user */
verified: DeviceVerification;
/**
* whether the user knows of this device's existence
* (useful when warning the user that a user has added new devices)
*/
known: boolean;
/** additional data from the homeserver */
unsigned: Record<string, any>;
signatures: ISignatures;
/**
* @param deviceId - id of the device
*/
constructor(deviceId: string);
/**
* Prepare a DeviceInfo for JSON serialisation in the session store
*
* @returns deviceinfo with non-serialised members removed
*/
toStorage(): IDevice;
/**
* Get the fingerprint for this device (ie, the Ed25519 key)
*
* @returns base64-encoded fingerprint of this device
*/
getFingerprint(): string;
/**
* Get the identity key for this device (ie, the Curve25519 key)
*
* @returns base64-encoded identity key of this device
*/
getIdentityKey(): string;
/**
* Get the configured display name for this device, if any
*
* @returns displayname
*/
getDisplayName(): string | null;
/**
* Returns true if this device is blocked
*
* @returns true if blocked
*/
isBlocked(): boolean;
/**
* Returns true if this device is verified
*
* @returns true if verified
*/
isVerified(): boolean;
/**
* Returns true if this device is unverified
*
* @returns true if unverified
*/
isUnverified(): boolean;
/**
* Returns true if the user knows about this device's existence
*
* @returns true if known
*/
isKnown(): boolean;
}
export {};
//# sourceMappingURL=deviceinfo.d.ts.map
|