export declare enum MessageType { TEXT = "text", LOCATION = "location", PHOTO = "photo", VIDEO = "video", AUDIO = "audio", VOICE = "voice", DOCUMENT = "document", STICKER = "sticker", COMMAND = "command" } export declare enum ProcessingOutcome { SUCCESS = "success", FAILURE = "failure", CANCELLED = "cancelled" } export interface SessionSource { userId: string; chatId: string; displayName?: string; isGroup?: boolean; groupId?: string; threadId?: string; } export interface MessageEvent { text: string; messageType: MessageType; source: SessionSource; rawMessage?: unknown; messageId?: string; platformUpdateId?: number; mediaUrls: string[]; mediaTypes: string[]; replyToMessageId?: string; replyToText?: string; autoSkill?: string | string[]; channelPrompt?: string; internal: boolean; timestamp: Date; } export interface SendResult { success: boolean; messageId?: string; error?: string; rawResponse?: unknown; retryable: boolean; } export interface PlatformConfig { token?: string; webhookUrl?: string; extra?: Record; } export declare function isCommand(event: MessageEvent): boolean; export declare function getCommand(event: MessageEvent): string | null; export declare function getCommandArgs(event: MessageEvent): string[]; export declare function utf16Len(s: string): number; export declare function safeUrlForLog(url: string, maxLen?: number): string; export declare abstract class BasePlatformAdapter { protected config: PlatformConfig; protected running: boolean; protected messageHandler?: (event: MessageEvent) => Promise; constructor(config: PlatformConfig); onMessage(handler: (event: MessageEvent) => Promise): void; abstract connect(): Promise; abstract disconnect(): Promise; abstract send(chatId: string, content: string, replyTo?: string, metadata?: Record): Promise; abstract editMessage(chatId: string, messageId: string, content: string, finalize?: boolean): Promise; abstract sendTyping(chatId: string, metadata?: Record): Promise; abstract stopTyping(chatId: string): Promise; abstract sendImage(chatId: string, imageUrl: string, caption?: string, replyTo?: string, metadata?: Record): Promise; abstract sendAnimation(chatId: string, animationUrl: string, caption?: string, replyTo?: string, metadata?: Record): Promise; abstract getChatInfo(chatId: string): Promise>; protected splitMessage(text: string, maxLen: number): string[]; } //# sourceMappingURL=platform-base.d.ts.map