import { BaseTenantService } from '@/common/base/service/base-crud.service';
import { ChatConversation } from './entities/chat-conversation.entity';
import { TenantConnectionService } from '../tenant/tenant-connection.service';
import { ChatMessage } from './entities/chat-message.entity';
import { Request } from 'express';
import { PaginationResult } from '@/common/interfaces/pagination-result.interface';
import { User } from '../user/entities/user.entity';
export declare class ChatConversationService extends BaseTenantService<ChatConversation> {
    protected tenantConnectionService: TenantConnectionService;
    protected entity: typeof ChatConversation;
    constructor(tenantConnectionService: TenantConnectionService);
    findOrCreate(payload: Partial<ChatConversation>): Promise<ChatConversation>;
    updateLastMessage(conversationId: string, messageId: string, receivedAt: Date, isIncoming: boolean): Promise<ChatConversation | null>;
    getLatestConversations(oaAccountId: string, page: number | undefined, limit: number | undefined, req: Request, user: User, search?: string): Promise<PaginationResult<ChatConversation & {
        messages: ChatMessage[];
    }>>;
}
