import type { ChallengeAuth } from "../auth/challenge-auth.js"; import type { ExternalMessage } from "../types.js"; import type { ITransportProvider } from "./interface.js"; /** * Matrix transport provider using matrix-bot-sdk * Works with any Matrix homeserver — Element X, Element Web, FluffyChat, etc. */ export declare class MatrixProvider implements ITransportProvider { private config; private auth; readonly type = "matrix"; private client?; private _isConnected; private messageHandler?; private errorHandler?; private botUserId?; private joinedRooms; private roomMemberCount; private connectedAt; constructor(config: { homeserverUrl: string; accessToken: string; encryption?: boolean; }, auth: ChallengeAuth); get isConnected(): boolean; /** Create a private project room (used by /newproject). */ createProjectRoom(name: string, inviteUserId: string): Promise; /** Rename a room (used to brand the DM as the management room). */ setRoomName(roomId: string, name: string): Promise; /** Get the current room name (null if the room has no name yet). */ getRoomName(roomId: string): Promise; /** Have the bot actively leave a room (used by /pmctl rm). */ leaveRoom(roomId: string, reason?: string): Promise; /** The bot's own Matrix user ID (null if not connected). */ getBotUserId(): string | null; /** Set a user's power level in a room (used to make the project owner admin). */ setUserPowerLevel(roomId: string, userId: string, level: number): Promise; connect(): Promise; disconnect(): Promise; sendMessage(chatId: string, text: string): Promise; sendTyping(chatId: string): Promise; onMessage(handler: (message: ExternalMessage) => void): void; onError(handler: (error: Error) => void): void; private handleMessage; } //# sourceMappingURL=matrix.d.ts.map