import mongoose from "mongoose";
export declare class File {
    id: string;
    name: string;
    mimeType: string;
    size: number;
}
export declare class ChatDto {
    _id?: string | mongoose.Types.ObjectId;
    content: string;
    type: 'text' | 'image' | 'url' | 'file';
    file?: File;
    metadata?: {
        documentContent?: string;
        isVoiceMessage?: boolean;
    };
    model?: string;
    systemPrompt?: string;
    createdAt?: Date;
    updatedAt?: Date;
}
export declare class CreateConversationDto {
    conversationId: string | null | undefined;
    chat: ChatDto;
    instructionType?: 'summary' | 'analysis' | 'extract' | 'translate';
    mode?: 'chat' | 'unified';
}
export declare class AppendImageMessageDto {
    conversationId?: string;
    prompt: string;
    images: string[];
    imageHistoryId?: string;
    model?: string;
    aspectRatio?: string;
    style?: string;
}
export declare class UpdateConversationDto {
    title: string;
    favorite: boolean;
}
export declare class RegenerateConversationDto {
    conversationId?: string;
    messageId?: string;
    chat?: ChatDto;
}
export declare class UpdateMessageDto {
    conversationId: string;
    messageId: string;
    chat: ChatDto;
}
export declare class LikeDislikeConversationDto {
    like: boolean;
    dislike: boolean;
    conversationId: string;
    messageId: string;
    partId: string;
}
export declare class CreateChatTestingDto {
    prompt: string;
    role: 'user' | 'admin';
}
export declare class RetryConversationDto {
    conversationId: string;
    messageId: string;
    retryId: string;
}
