/** * Base Abstract Channel for Supen. * Handles Multi-account management and JID-based routing. */ import { Channel, ChannelOpts } from '../core/types.js'; export declare abstract class AbstractChannel implements Channel { abstract name: string; protected instances: Map; protected opts: ChannelOpts; constructor(opts: ChannelOpts); /** Initialize instances from a list of account configurations. */ protected abstract initInstances(accounts: TAccountConfig[]): void; /** Physical connection logic for all instances. */ connect(): Promise; protected abstract connectInstance(instance: TInstance): Promise; protected abstract disconnectInstance(instance: TInstance): Promise; /** Common JID Parser: {channel}:{app_id}:{chat_id} */ protected parseJid(jid: string): { channel: string; appId: string; chatId: string; }; /** Implementation of Supen Channel Interface */ disconnect(): Promise; isConnected(): boolean; ownsJid(jid: string): boolean; /** Delegate to concrete implementations */ abstract sendMessage(jid: string, text: string, options?: any): Promise; abstract sendFile(jid: string, filePath: string, caption?: string): Promise; /** New: Return real-time status of all managed app instances. */ getInstancesStatus(): Array<{ appId: string; connected: boolean; lastActivity: string; accountLabel?: string; }>; } //# sourceMappingURL=base.d.ts.map