summaryrefslogtreecommitdiff
path: root/includes/external/matrix/node_modules/matrix-js-sdk/lib/models/beacon.d.ts
diff options
context:
space:
mode:
Diffstat (limited to 'includes/external/matrix/node_modules/matrix-js-sdk/lib/models/beacon.d.ts')
-rw-r--r--includes/external/matrix/node_modules/matrix-js-sdk/lib/models/beacon.d.ts53
1 files changed, 53 insertions, 0 deletions
diff --git a/includes/external/matrix/node_modules/matrix-js-sdk/lib/models/beacon.d.ts b/includes/external/matrix/node_modules/matrix-js-sdk/lib/models/beacon.d.ts
new file mode 100644
index 0000000..3a6918c
--- /dev/null
+++ b/includes/external/matrix/node_modules/matrix-js-sdk/lib/models/beacon.d.ts
@@ -0,0 +1,53 @@
+import { BeaconInfoState, BeaconLocationState } from "../content-helpers";
+import { MatrixEvent } from "./event";
+import { TypedEventEmitter } from "./typed-event-emitter";
+export declare enum BeaconEvent {
+ New = "Beacon.new",
+ Update = "Beacon.update",
+ LivenessChange = "Beacon.LivenessChange",
+ Destroy = "Beacon.Destroy",
+ LocationUpdate = "Beacon.LocationUpdate"
+}
+export type BeaconEventHandlerMap = {
+ [BeaconEvent.Update]: (event: MatrixEvent, beacon: Beacon) => void;
+ [BeaconEvent.LivenessChange]: (isLive: boolean, beacon: Beacon) => void;
+ [BeaconEvent.Destroy]: (beaconIdentifier: string) => void;
+ [BeaconEvent.LocationUpdate]: (locationState: BeaconLocationState) => void;
+ [BeaconEvent.Destroy]: (beaconIdentifier: string) => void;
+};
+export declare const isTimestampInDuration: (startTimestamp: number, durationMs: number, timestamp: number) => boolean;
+export type BeaconIdentifier = string;
+export declare const getBeaconInfoIdentifier: (event: MatrixEvent) => BeaconIdentifier;
+export declare class Beacon extends TypedEventEmitter<Exclude<BeaconEvent, BeaconEvent.New>, BeaconEventHandlerMap> {
+ private rootEvent;
+ readonly roomId: string;
+ private _beaconInfo;
+ private _isLive?;
+ private livenessWatchTimeout?;
+ private _latestLocationEvent?;
+ constructor(rootEvent: MatrixEvent);
+ get isLive(): boolean;
+ get identifier(): BeaconIdentifier;
+ get beaconInfoId(): string;
+ get beaconInfoOwner(): string;
+ get beaconInfoEventType(): string;
+ get beaconInfo(): BeaconInfoState;
+ get latestLocationState(): BeaconLocationState | undefined;
+ get latestLocationEvent(): MatrixEvent | undefined;
+ update(beaconInfoEvent: MatrixEvent): void;
+ destroy(): void;
+ /**
+ * Monitor liveness of a beacon
+ * Emits BeaconEvent.LivenessChange when beacon expires
+ */
+ monitorLiveness(): void;
+ /**
+ * Process Beacon locations
+ * Emits BeaconEvent.LocationUpdate
+ */
+ addLocations(beaconLocationEvents: MatrixEvent[]): void;
+ private clearLatestLocation;
+ private setBeaconInfo;
+ private checkLiveness;
+}
+//# sourceMappingURL=beacon.d.ts.map \ No newline at end of file