import { ConversationsService } from './conversations.service';
import { CreateConversationDto, OpenConversationDto, SendMessageDto } from './conversations.dto';
export declare class ConversationsController {
    private readonly conversationsService;
    constructor(conversationsService: ConversationsService);
    getConversations(req: any): Promise<{
        status: boolean;
        statusCode: number;
        data: {
            id: string;
            report_id: string | null;
            otherUserId: string;
            otherUserName: string;
            lastMessageText: string;
            lastMessageRawText: string;
            lastMessageType: "text" | "pet_token" | "report_token" | "location_token";
            lastMessagePetProfileId: string | null;
            lastMessageReportId: string | null;
            lastMessageLocation: {
                latitude: number;
                longitude: number;
                label: string;
            } | null;
            lastMessageAt: string;
            unreadCount: number;
            reportpet_name: string | null;
            reportStatus: string | null;
            reportPhoto: string | null;
            created_at: string;
        }[];
    }>;
    createConversation(req: any, body: CreateConversationDto): Promise<{
        status: boolean;
        statusCode: number;
        data: {
            id: string;
            report_id: string | null;
            otherUserId: string;
            otherUserName: string;
            lastMessageText: string;
            lastMessageRawText: string;
            lastMessageType: "text" | "pet_token" | "report_token" | "location_token";
            lastMessagePetProfileId: string | null;
            lastMessageReportId: string | null;
            lastMessageLocation: {
                latitude: number;
                longitude: number;
                label: string;
            } | null;
            lastMessageAt: string;
            unreadCount: number;
            reportpet_name: string | null;
            reportStatus: string | null;
            reportPhoto: string | null;
            created_at: string;
        };
    }>;
    openConversation(req: any, body: OpenConversationDto): Promise<{
        status: boolean;
        statusCode: number;
        data: {
            id: string;
            report_id: string | null;
            otherUserId: string;
            otherUserName: string;
            lastMessageText: string;
            lastMessageRawText: string;
            lastMessageType: "text" | "pet_token" | "report_token" | "location_token";
            lastMessagePetProfileId: string | null;
            lastMessageReportId: string | null;
            lastMessageLocation: {
                latitude: number;
                longitude: number;
                label: string;
            } | null;
            lastMessageAt: string;
            unreadCount: number;
            reportpet_name: string | null;
            reportStatus: string | null;
            reportPhoto: string | null;
            created_at: string;
        };
    }>;
    getConversationSummary(req: any, id: string): Promise<{
        status: boolean;
        statusCode: number;
        data: {
            id: string;
            report_id: string | null;
            otherUserId: string;
            otherUserName: string;
            lastMessageText: string;
            lastMessageRawText: string;
            lastMessageType: "text" | "pet_token" | "report_token" | "location_token";
            lastMessagePetProfileId: string | null;
            lastMessageReportId: string | null;
            lastMessageLocation: {
                latitude: number;
                longitude: number;
                label: string;
            } | null;
            lastMessageAt: string;
            unreadCount: number;
            reportpet_name: string | null;
            reportStatus: string | null;
            reportPhoto: string | null;
            created_at: string;
        };
    }>;
    getMessages(req: any, id: string, limit?: string): Promise<{
        status: boolean;
        statusCode: number;
        data: {
            id: string;
            conversationId: string;
            senderId: string;
            senderName: string;
            text: string;
            messageType: "text" | "pet_token" | "report_token" | "location_token";
            petProfileId: string | null;
            reportId: string | null;
            location: {
                latitude: number;
                longitude: number;
                label: string;
            } | null;
            attachment: any;
            previewText: string;
            isMe: boolean;
            readAt: string | null;
            created_at: string;
        }[];
    }>;
    sendMessage(req: any, id: string, body: SendMessageDto): Promise<{
        status: boolean;
        statusCode: number;
        data: {
            id: string;
            conversationId: string;
            senderId: string;
            senderName: string;
            text: string;
            messageType: "text" | "pet_token" | "report_token" | "location_token";
            petProfileId: string | null;
            reportId: string | null;
            location: {
                latitude: number;
                longitude: number;
                label: string;
            } | null;
            attachment: any;
            previewText: string;
            isMe: boolean;
            readAt: string | null;
            created_at: string;
        };
    }>;
    markAsRead(req: any, id: string): Promise<{
        status: boolean;
        statusCode: number;
        data: {
            message: string;
            updatedCount: number;
        };
    }>;
}
