UNPKG

matrix-react-sdk

Version:
37 lines (36 loc) 1.29 kB
import { MatrixClient, MatrixEvent, RelationType, TypedEventEmitter } from "matrix-js-sdk/src/matrix"; import { IDestroyable } from "../utils/IDestroyable"; export declare enum RelationsHelperEvent { Add = "add" } interface EventMap { [RelationsHelperEvent.Add]: (event: MatrixEvent) => void; } /** * Helper class that manages a specific event type relation for an event. * Just create an instance and listen for new events for that relation. * Optionally receive the current events by calling emitCurrent(). * Clean up everything by calling destroy(). */ export declare class RelationsHelper extends TypedEventEmitter<RelationsHelperEvent, EventMap> implements IDestroyable { private event; private relationType; private relationEventType; private client; private relations?; private eventId; private roomId; constructor(event: MatrixEvent, relationType: RelationType, relationEventType: string, client: MatrixClient); private setUpRelations; private onRelationsCreated; private setRelations; private onRelationsAdd; emitCurrent(): void; getCurrent(): MatrixEvent[]; /** * Fetches all related events from the server and emits them. */ emitFetchCurrent(): Promise<void>; destroy(): void; } export {};