import type { Message, MessageMapping } from '../types'; import type { Adapter } from './adapter'; /** * Elements handler base class. * * @abstract */ export declare abstract class Elements { /** * Adapter instance. * * @readonly */ readonly adapter: Adapter; /** * Decode a elements handler. * * @param adapter - Adapter instance */ constructor(adapter: Adapter); /** * Encode raw message string to `Message`. * * @param raw - Raw message * @param meta - Message metadata * @returns Encoded message * * @abstract */ abstract encode(raw: string, meta?: object): Message; /** * Decode `Message` elements to string. * * @param message - Message to decode * @param meta - Message metadata * @returns Decoded message * * @abstract */ abstract decode(message: Message, meta?: object): string; /** * Decode a mention message. * * @param userId - User id * @param meta - Message metadata * @returns Mention message * * @deprecated */ mention(userId: string, meta?: object): string; /** * Decode a mention all message. * * @param meta - Message metadata * @returns Mention all message * * @deprecated */ mentionAll(meta?: object): string; /** * Decode an image message. * * @param content - Image content * @param meta - Message metadata * @returns Image message * * @deprecated */ image(content: string, meta?: object): string; /** * Decode a voice message. * * @param content - Voice content * @param meta - Message metadata * @returns Voice message * * @deprecated */ voice(content: string, meta?: object): string; /** * Decode an audio message. * * @param content - Audio content * @param meta - Message metadata * @returns Audio message * * @deprecated */ audio(content: string, meta?: object): string; /** * Decode a video message. * * @param content - Video content * @param meta - Message metadata * @returns Video message * * @deprecated */ video(content: string, meta?: object): string; /** * Decode a file message. * * @param content - File content * @param meta - Message metadata * @returns File message * * @deprecated */ file(content: string, meta?: object): string; /** * Decode a location message. * * @param latitude - Latitude * @param longitude - Longitude * @param title - Title * @param content - Content * @param meta - Message metadata * @returns Location message * * @deprecated */ location(latitude: number, longitude: number, title: string, content: string, meta?: object): string; /** * Decode a reply message. * * @param messageId - Message id * @param meta - Message metadata * @returns Reply message * * @deprecated */ reply(messageId: string, meta?: object): string; /** * Get supported elements. * * @returns Supported elements * * @abstract * * @deprecated */ abstract getSupportsElements(): (keyof MessageMapping)[]; } export default Elements;