import { Request, Response } from "express";
export interface SendMessageRequest {
    conversationId: string;
    content: string;
    type?: "text" | "image" | "document";
    options?: {
        parse_mode?: "HTML" | "Markdown";
        reply_to_message_id?: string;
        inline_keyboard?: Array<Array<{
            text: string;
            callback_data: string;
        }>>;
    };
}
export declare class MessageController {
    private messageDisplayService;
    private messageRepository;
    private conversationRepository;
    private telegramSenderService;
    constructor();
    /**
     * Obtiene mensajes de una conversación con formato para visualización
     */
    getMessages(req: Request, res: Response): Promise<void>;
    /**
     * Envía un mensaje a través del canal correspondiente
     */
    sendMessage(req: Request, res: Response): Promise<void>;
    /**
     * Envía mensaje específicamente a Telegram
     */
    private sendTelegramMessage;
    /**
     * Marca mensajes como leídos
     */
    markMessagesAsRead(req: Request, res: Response): Promise<void>;
    /**
     * Obtiene estadísticas de mensajes de una conversación
     */
    getMessageStats(req: Request, res: Response): Promise<void>;
    /**
     * Determina el tipo de canal basado en la conversación
     */
    private determineChannelType;
    /**
     * Obtiene la configuración del canal de Telegram
     */
    private getTelegramChannelConfig;
    /**
     * Extrae el chat ID de la conversación
     */
    private extractChatIdFromConversation;
}
//# sourceMappingURL=messageController.d.ts.map