import { Repository } from 'typeorm';
import { Report } from './entity/report.entity';
import { QuestionResponse } from './entity/ques-res.entity';
import { CreateReportDto } from './dto/report.dto';
import { ConfigService } from '@nestjs/config';
import { TicketsService } from 'modules/ticket/ticket.service';
import { ReportResponseDto } from './dto/report-response.dto';
import { CreateCommentDto } from 'modules/ticket/dto/create-comment.dto';
import { TicketResponseDto } from 'modules/ticket/dto/response-ticket.dto';
import { Comment } from 'modules/ticket/entities/comment.entity';
import { AlertService } from 'modules/alert/alert.service';
import { CloudinaryService } from 'config/multer/cloudinary.service';
export declare class ReportService {
    private reportRepository;
    private responseRepository;
    private readonly configService;
    private readonly ticketService;
    private readonly alertService;
    private readonly cloudinaryService;
    private readonly logger;
    private readonly transporter;
    constructor(reportRepository: Repository<Report>, responseRepository: Repository<QuestionResponse>, configService: ConfigService, ticketService: TicketsService, alertService: AlertService, cloudinaryService: CloudinaryService);
    create(createReportDto: CreateReportDto): Promise<ReportResponseDto>;
    private processPdfInBackground;
    getPdfByReportId(id: number): Promise<string>;
    findByUserId(userId: number): Promise<Report>;
    getPdfByTicketToken(ticketToken: string): Promise<string>;
    sendReportEmail(report: Report, responses: QuestionResponse[]): Promise<void>;
    findAll(): Promise<ReportResponseDto[]>;
    findOne(id: number): Promise<ReportResponseDto>;
    addCommentToReportTicket(ticketToken: string, comment: CreateCommentDto, userId: number, file?: Express.Multer.File): Promise<TicketResponseDto>;
    getCommentsForReportTicket(ticketToken: string): Promise<Comment[]>;
    findReportByToken(token: string): Promise<ReportResponseDto>;
    findReportTokensByUserId(userId: number): Promise<any[]>;
    markCommentAsSeen(ticketToken: string, commentId: number): Promise<Comment>;
    submitAnonymousReport(data: any, files?: Express.Multer.File[]): Promise<any>;
    private transformToAlertData;
}
