import { ChatConversationService } from './chat-conversation.service';
import { ChatMessageService } from './chat-message.service';
import { TenantConnectionService } from '../tenant/tenant-connection.service';
import type { Response, Request } from 'express';
import { User } from '../user/entities/user.entity';
import { GetConversationsDto } from './dto/get-conversation.dto';
import { GetMessagesDto } from './dto/get-message.dto';
import { FacebookSyncService } from './facebook/facebook-sync.service';
export declare class ChatController {
    private readonly messageService;
    private readonly facebookSyncService;
    private readonly conversationService;
    private readonly tenantConn;
    constructor(messageService: ChatMessageService, facebookSyncService: FacebookSyncService, conversationService: ChatConversationService, tenantConn: TenantConnectionService);
    sendMessages(conversationId: string, messagesRaw: string, subdomain: string, files: {
        file?: Express.Multer.File[];
    }): Promise<import("./entities/chat-message.entity").ChatMessage[]>;
    getConversations(query: GetConversationsDto, req: Request, user: User): Promise<import("../../common/interfaces/pagination-result.interface").PaginationResult<import("./entities/chat-conversation.entity").ChatConversation & {
        messages: import("./entities/chat-message.entity").ChatMessage[];
    }>>;
    getMessages(conversationId: string, query: GetMessagesDto, req: Request, subdomain: string): Promise<import("./chat.types").ConversationMessagesPaginated>;
    sync(oaId: string, type: 'facebook' | 'zalo'): Promise<{
        success: boolean;
        result: any;
    }>;
    handleEvent(payload: any, res: Response): Promise<Response<any, Record<string, any>>>;
}
