import { ChatHistoryService } from './chat-history.service';
import { DebugEventsService } from '../debug-events/debug-events.service';
import { AppendImageMessageDto, CreateConversationDto, LikeDislikeConversationDto, RegenerateConversationDto, RetryConversationDto, UpdateConversationDto, UpdateMessageDto } from './chat-history.validation';
import { IFullUser } from '../users/users.interface';
import { ChatHistoryStreamService } from './chat-history-stream.service';
import { AiModelsService } from '../app-config/ai-models/ai-models.service';
export declare class ChatHistoryController {
    private readonly chatHistoryService;
    private readonly chatHistoryStreamService;
    private readonly aiModelsService;
    private readonly debugEvents;
    constructor(chatHistoryService: ChatHistoryService, chatHistoryStreamService: ChatHistoryStreamService, aiModelsService: AiModelsService, debugEvents: DebugEventsService);
    findAll(query: Record<string, unknown>, user: IFullUser): Promise<{
        data: import("./chat-history.model").ChatHistory[];
        meta: {
            total: number;
            page: number;
            limit: number;
        };
    }>;
    findByConversationId(conversationId: string, user: IFullUser): Promise<import("./chat-history.model").ChatHistory>;
    createChat(createChatDto: CreateConversationDto, user: IFullUser, res: any): Promise<{
        data: import("./chat-history.interface").IChat;
        function: "file" | "text" | "image" | "realTimeData" | "error";
    }>;
    appendImageMessage(body: AppendImageMessageDto, user: IFullUser): Promise<{
        conversationId: string;
    }>;
    updateConversation(conversationId: string, updateConversationDto: UpdateConversationDto): Promise<import("./chat-history.model").ChatHistory>;
    regenerateConversation(regenerateConversationDto: RegenerateConversationDto, user: IFullUser, res: any): Promise<{
        data: import("./chat-history.interface").IChat;
        function: "file" | "text" | "image" | "realTimeData" | "error";
    }>;
    retryConversation(payload: RetryConversationDto, user: IFullUser, res: any): Promise<{
        data: import("./chat-history.interface").IChat;
        function: "file" | "text" | "image" | "realTimeData" | "error";
    }>;
    updateMessage(updateMessageDto: UpdateMessageDto, user: IFullUser, res: any): Promise<void>;
    handleLikeDislike(payload: LikeDislikeConversationDto, user: IFullUser): Promise<void>;
    deleteConversation(conversationId: string, user: IFullUser): Promise<import("mongoose").Document<unknown, {}, import("./chat-history.model").ChatHistory, {}, {}> & import("./chat-history.model").ChatHistory & {
        _id: import("mongoose").Types.ObjectId;
    } & {
        __v: number;
    }>;
    deleteAllConversations(user: IFullUser): Promise<any>;
    getBlockedConversations(query: Record<string, unknown>): Promise<{
        data: any;
        meta: {
            total: any;
            page: number;
            limit: number;
            totalPages: number;
            hasMorePages: boolean;
            nextPage: number;
            previousPage: number;
        };
    }>;
    transcribeAudio(audioFile: any, user: IFullUser): Promise<{
        text: string;
    }>;
}
