summaryrefslogtreecommitdiff
path: root/includes/external/matrix/node_modules/matrix-js-sdk/lib/models/relations-container.d.ts
blob: 2b2c7adebd5bb30796b5c5d5d5289c4773860cc4 (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
import { Relations } from "./relations";
import { EventType, RelationType } from "../@types/event";
import { MatrixEvent } from "./event";
import { EventTimelineSet } from "./event-timeline-set";
import { MatrixClient } from "../client";
import { Room } from "./room";
export declare class RelationsContainer {
    private readonly client;
    private readonly room?;
    private relations;
    constructor(client: MatrixClient, room?: Room | undefined);
    /**
     * Get a collection of child events to a given event in this timeline set.
     *
     * @param eventId - The ID of the event that you'd like to access child events for.
     * For example, with annotations, this would be the ID of the event being annotated.
     * @param relationType - The type of relationship involved, such as "m.annotation", "m.reference", "m.replace", etc.
     * @param eventType - The relation event's type, such as "m.reaction", etc.
     * @throws If `eventId</code>, <code>relationType</code> or <code>eventType`
     * are not valid.
     *
     * @returns
     * A container for relation events or undefined if there are no relation events for
     * the relationType.
     */
    getChildEventsForEvent(eventId: string, relationType: RelationType | string, eventType: EventType | string): Relations | undefined;
    getAllChildEventsForEvent(parentEventId: string): MatrixEvent[];
    /**
     * Set an event as the target event if any Relations exist for it already.
     * Child events can point to other child events as their parent, so this method may be
     * called for events which are also logically child events.
     *
     * @param event - The event to check as relation target.
     */
    aggregateParentEvent(event: MatrixEvent): void;
    /**
     * Add relation events to the relevant relation collection.
     *
     * @param event - The new child event to be aggregated.
     * @param timelineSet - The event timeline set within which to search for the related event if any.
     */
    aggregateChildEvent(event: MatrixEvent, timelineSet?: EventTimelineSet): void;
}
//# sourceMappingURL=relations-container.d.ts.map