matrix-react-sdk
Version:
SDK for matrix.org using React
37 lines (36 loc) • 1.29 kB
TypeScript
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 {};