declare class MessagingService {
    private readonly api;
    private readonly client?;
    constructor(api: any, client?: any | undefined);
    /**
     * Verifica se o cliente pode executar operações
     * @param throwError Se true, lança um erro caso as credenciais não sejam válidas (padrão: true)
     * @private Método interno para verificar credenciais
     */
    checkCredentials(throwError?: boolean): void;
    /**
     * Determines the file type based on the URL extension
     * @param url URL of the file to analyze
     * @returns The file type as "video", "audio", "image" or "file"
     */
    private getFileTypeFromUrl;
    /**
     * Envia uma mensagem de texto para o Facebook
     * @param channelToken Token do canal
     * @param recipientId ID do destinatário
     * @param message Texto da mensagem
     */
    sendTextToFacebook(channelToken: string, recipientId: string, message: string): Promise<any>;
    /**
     * Envia um arquivo para o Facebook
     * O tamanho máximo de arquivo é 8 MB para imagens e 25 MB para outros tipos de arquivo (após codificação). Estabelecemos o tempo-limite de 75 segundos para vídeos e 10 segundos para outros tipos de arquivo.
     * @param channelToken Token do canal
     * @param recipientId ID do destinatário
     * @param attachmentUrl Url do anexo
     */
    sendFileToFacebook(channelToken: string, recipientId: string, attachmentUrl: string): Promise<any>;
    /**
     * Envia uma mensagem para o Instagram
     * @param channelToken Token do canal
     * @param recipientId ID do destinatário
     * @param message Texto da mensagem
     */
    sendTextToInstagram(channelToken: string, recipientId: string, text: string): Promise<any>;
    /**
     * Envia um arquivo para o Instagram
     * O tamanho máximo de arquivo é 8 MB para imagens e 25 MB para outros tipos de arquivo (após codificação). Estabelecemos o tempo-limite de 75 segundos para vídeos e 10 segundos para outros tipos de arquivo.
     * @param channelToken Token do canal
     * @param recipientId ID do destinatário
     * @param attachmentUrl Url do anexo
     */
    sendFileToInstagram(channelToken: string, recipientId: string, attachmentUrl: string): Promise<any>;
    /**
     * Envia um email
     * @param channelToken Token do canal
     * @param to Endereço de email do destinatário
     * @param subject Assunto do email
     * @param body Corpo do email
     * @param attachments Anexos (opcional)
     */
    sendEmail(channelToken: string, subject: string, body: string, to: string, attachments?: any[]): Promise<any>;
    /**
     * Envia uma mensagem para o Mercado Livre
     * @param channelToken Token do canal
     * @param recipientId ID do destinatário
     * @param message Texto da mensagem
     */
    sendToMercadoLivre(channelToken: string, recipientId: string, message: string): Promise<any>;
    getProfileFacebook(channelToken: string, recipientId: string): Promise<any>;
    getProfileInstagram(channelToken: string, recipientId: string): Promise<any>;
}
