import { AppServiceRegistration } from "matrix-appservice"; import { MembershipCache } from "./membership-cache"; import { StateLookupEvent } from ".."; /** * Construct an AS bot user which has various helper methods. * @constructor * @param {MatrixClient} client The client instance configured for the AS bot. * @param registration The registration that the bot * is following. Used to determine which user IDs it is controlling. * @param memberCache The bridges membership cache instance, * for storing membership the bot has discovered. */ export declare class AppServiceBot { private client; private memberCache; private exclusiveUserRegexes; constructor(client: any, registration: AppServiceRegistration, memberCache: MembershipCache); getClient(): any; getUserId(): string; /** * Get a list of joined room IDs for the AS bot. * @return Resolves to a list of room IDs. */ getJoinedRooms(): Promise; /** * Get a map of joined user IDs for the given room ID. The values in the map are objects * with a 'display_name' and 'avatar_url' properties. These properties may be null. * @param roomId The room to get a list of joined user IDs in. * @return Resolves to a map of user ID => display_name avatar_url */ getJoinedMembers(roomId: string): Promise>; getRoomInfo(roomId: string, joinedRoom?: { state?: { events: StateLookupEvent[]; }; }): Promise<{ id: string; state: StateLookupEvent[]; realJoinedUsers: string[]; remoteJoinedUsers: string[]; }>; /** * Test a userId to determine if it's a user within the exclusive regexes of the bridge. * @return True if it is a remote user, false otherwise. */ isRemoteUser(userId: string): boolean; }