import { PrismaService } from "../../../core/database/prisma/prisma.service";
import { CreateKnowledgeFixDto, ReviewKnowledgeFixDto, QueryKnowledgeFixDto } from '../dto';
export declare class KnowledgeService {
    private readonly prisma;
    private readonly logger;
    constructor(prisma: PrismaService);
    createKnowledgeFix(dto: CreateKnowledgeFixDto, userId: string): Promise<{
        id: string;
        messageId: string;
        correctAnswer: string;
        contributorId: string;
        status: import("@prisma/client").$Enums.AIKnowledgeFixStatus;
        createdAt: Date;
    }>;
    findKnowledgeFixes(query: QueryKnowledgeFixDto, userId: string, isReviewer?: boolean): Promise<{
        items: {
            id: string;
            messageId: string;
            originalAnswer: string;
            correctAnswer: string;
            contributor: {
                id: string;
                name: string;
            };
            status: import("@prisma/client").$Enums.AIKnowledgeFixStatus;
            reviewNote: string | null;
            createdAt: Date;
            reviewedAt: Date | null;
        }[];
        total: number;
        page: number;
        limit: number;
        totalPages: number;
        hasNext: boolean;
        hasPrev: boolean;
    }>;
    reviewKnowledgeFix(id: string, dto: ReviewKnowledgeFixDto, reviewerId: string): Promise<{
        id: string;
        status: import("@prisma/client").$Enums.AIKnowledgeFixStatus;
        reviewerId: string | null;
        reviewNote: string | null;
        reviewedAt: Date | null;
    }>;
    findKnowledgeFix(id: string): Promise<{
        id: string;
        messageId: string;
        originalAnswer: string;
        correctAnswer: string;
        contributor: {
            id: string;
            name: string;
        };
        status: import("@prisma/client").$Enums.AIKnowledgeFixStatus;
        reviewer: {
            id: string;
            name: string;
        } | null;
        reviewNote: string | null;
        createdAt: Date;
        reviewedAt: Date | null;
        conversation: {
            id: string;
            title: string | null;
        };
    }>;
}
