import type { ToolDefinition } from "./plugin-factory"; export type BridgeType = "discord" | "telegram" | "whatsapp" | "signal" | "slack"; export interface MautrixBridgeConfig { baseUrl: string; sharedSecret: string; enabled: boolean; bridgeType: BridgeType; } export interface MautrixWhoamiResponse { mxid: string; logged_in: boolean; remote_id?: string; remote_name?: string; discord?: { id: string; name: string; discriminator?: string; }; telegram?: { id: number; username?: string; first_name?: string; last_name?: string; phone?: string; }; } export interface MautrixLoginResponse { success?: boolean; status?: string; qr?: string; error?: string; next_step?: string; } export interface MautrixGuild { id: string; name: string; icon?: string; } export interface MautrixChat { id: string | number; name: string; type?: string; } export declare function createBridgeConfig(bridgeType: BridgeType, bridgeUrl: string | undefined, sharedSecret: string | undefined): MautrixBridgeConfig; export declare function createBridgeFetcher(config: MautrixBridgeConfig): (endpoint: string, options?: RequestInit) => Promise; export interface BridgeToolOptions { config: MautrixBridgeConfig; logger: { info: (msg: string, meta?: Record) => void; error: (msg: string, meta?: Record) => void; }; serviceName: string; serviceNameLower: string; } export declare function createBridgeStatusTool(options: BridgeToolOptions): ToolDefinition; export declare function createBridgeLogoutTool(options: BridgeToolOptions): ToolDefinition; export interface DiscordBridgeToolOptions extends BridgeToolOptions { bridgeType: "discord"; } export declare function createDiscordBridgeTools(options: DiscordBridgeToolOptions): ToolDefinition[]; export interface TelegramBridgeToolOptions extends BridgeToolOptions { bridgeType: "telegram"; } export declare function createTelegramBridgeTools(options: TelegramBridgeToolOptions): ToolDefinition[]; export declare const BRIDGE_ENV_VARS: { required: Array<{ name: string; description: string; }>; optional: { name: string; description: string; }[]; }; export interface BeeperBridgeConfig { bridgeName: string; bridgeType: BridgeType; enabled: boolean; configDir: string; } export declare function createBeeperBridgeConfig(bridgeType: BridgeType, bridgeName: string | undefined): BeeperBridgeConfig; export interface BeeperBridgeToolOptions { config: BeeperBridgeConfig; logger: { info: (msg: string, meta?: Record) => void; error: (msg: string, meta?: Record) => void; }; serviceName: string; serviceNameLower: string; } export declare function createBeeperBridgeTools(options: BeeperBridgeToolOptions): ToolDefinition[]; export interface DockerBridgeConfig { bridgeType: BridgeType; dataDir: string; containerName: string; imageTag: string; port?: number; networkName?: string; } export interface DockerBridgeToolOptions { bridgeType: BridgeType; logger: { info: (msg: string, meta?: Record) => void; error: (msg: string, meta?: Record) => void; }; dataDir?: string; imageTag?: string; } export declare function createDockerBridgeTools(options: DockerBridgeToolOptions): ToolDefinition[]; //# sourceMappingURL=mautrix-bridge.d.ts.map