summaryrefslogtreecommitdiff
path: root/includes/external/matrix/node_modules/matrix-js-sdk/lib/room-hierarchy.d.ts
blob: 7e9d07d38a8928c0fcb5755c9af3588d517477f1 (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
import { Room } from "./models/room";
import { IHierarchyRoom, IHierarchyRelation } from "./@types/spaces";
export declare class RoomHierarchy {
    readonly root: Room;
    private readonly pageSize?;
    private readonly maxDepth?;
    private readonly suggestedOnly;
    readonly viaMap: Map<string, Set<string>>;
    readonly backRefs: Map<string, string[]>;
    readonly roomMap: Map<string, IHierarchyRoom>;
    private loadRequest?;
    private nextBatch?;
    private _rooms?;
    private serverSupportError?;
    /**
     * Construct a new RoomHierarchy
     *
     * A RoomHierarchy instance allows you to easily make use of the /hierarchy API and paginate it.
     *
     * @param root - the root of this hierarchy
     * @param pageSize - the maximum number of rooms to return per page, can be overridden per load request.
     * @param maxDepth - the maximum depth to traverse the hierarchy to
     * @param suggestedOnly - whether to only return rooms with suggested=true.
     */
    constructor(root: Room, pageSize?: number | undefined, maxDepth?: number | undefined, suggestedOnly?: boolean);
    get noSupport(): boolean;
    get canLoadMore(): boolean;
    get loading(): boolean;
    get rooms(): IHierarchyRoom[] | undefined;
    load(pageSize?: number | undefined): Promise<IHierarchyRoom[]>;
    getRelation(parentId: string, childId: string): IHierarchyRelation | undefined;
    isSuggested(parentId: string, childId: string): boolean | undefined;
    removeRelation(parentId: string, childId: string): void;
}
//# sourceMappingURL=room-hierarchy.d.ts.map