import { Feedback } from './feedback.model';
import mongoose, { Model } from 'mongoose';
import { CreateFeedbackDto } from './feedback.validation';
import { IFullUser } from '../users/users.interface';
import { ChatHistory } from '../chat-history/chat-history.model';
import { ImageHistory } from '../image-history/model/image-history.model';
import { IFeedbackStatus } from './feedback.interface';
export declare class FeedbackService {
    private readonly feedbackModel;
    private readonly chatHistoryModel;
    private readonly imageHistoryModel;
    constructor(feedbackModel: Model<Feedback>, chatHistoryModel: Model<ChatHistory>, imageHistoryModel: Model<ImageHistory>);
    getFeedbacks(query?: Record<string, unknown>): Promise<{
        data: any;
        meta: any;
    }>;
    getChatFeedbackById(feedbackId: string): Promise<any>;
    getImageFeedbackById(feedbackId: string): Promise<any>;
    createFeedback(payload: CreateFeedbackDto, user: IFullUser): Promise<any>;
    updateFeedbackStatus(feedbackId: string, body: {
        status: IFeedbackStatus;
    }): Promise<any>;
    addComment(feedbackId: string, body: {
        comment: string;
    }): Promise<any>;
    getMyFeedback(query: Record<string, unknown>): Promise<(mongoose.Document<unknown, {}, Feedback, {}, {}> & Feedback & Required<{
        _id: string | mongoose.Types.ObjectId;
    }> & {
        __v: number;
    })[]>;
}
