matrix-react-sdk
Version:
SDK for matrix.org using React
33 lines (32 loc) • 1.51 kB
TypeScript
import React, { ReactNode } from "react";
import { Room, MatrixClient, RoomType, HierarchyRoom } from "matrix-js-sdk/src/matrix";
import { RoomHierarchy } from "matrix-js-sdk/src/room-hierarchy";
interface IProps {
space: Room;
initialText?: string;
additionalButtons?: ReactNode;
showRoom(cli: MatrixClient, hierarchy: RoomHierarchy, roomId: string, roomType?: RoomType): void;
}
export declare const showRoom: (cli: MatrixClient, hierarchy: RoomHierarchy, roomId: string, roomType?: RoomType) => void;
export declare const joinRoom: (cli: MatrixClient, hierarchy: RoomHierarchy, roomId: string) => Promise<unknown>;
interface IHierarchyLevelProps {
root: HierarchyRoom;
roomSet: Set<HierarchyRoom>;
hierarchy: RoomHierarchy;
parents: Set<string>;
selectedMap?: Map<string, Set<string>>;
onViewRoomClick(roomId: string, roomType?: RoomType): void;
onJoinRoomClick(roomId: string, parents: Set<string>): Promise<unknown>;
onToggleClick?(parentId: string, childId: string): void;
}
export declare const toLocalRoom: (cli: MatrixClient, room: HierarchyRoom, hierarchy: RoomHierarchy) => HierarchyRoom;
export declare const HierarchyLevel: React.FC<IHierarchyLevelProps>;
export declare const useRoomHierarchy: (space: Room) => {
loading: boolean;
rooms?: HierarchyRoom[];
hierarchy?: RoomHierarchy;
error?: Error;
loadMore(pageSize?: number): Promise<void>;
};
declare const SpaceHierarchy: React.FC<IProps>;
export default SpaceHierarchy;