import { ConfigService } from "@nestjs/config";
import { InspectionQuestionsRepository } from "../repositories/inspection-questions.repository";
import { CreateInspectionQuestionDto } from "../dto/create-inspection-questions.dto";
import { FilterInspectionQuestionDto } from "../dto/filter-inspection-questions.dto";
import { UpdateInspectionQuestionsDto } from "../dto/update-inspection-questions-dto";
import { CreateInspectionReportWithAnswersDto } from "../dto/save-inspection-answers.dto";
import { InspectionFleetReport } from "../entities/inspection-fleet-report.entity";
import { InspectionAnswerOptionRepository } from "../repositories/inspection-answer-options.repository";
import { InspectionFleetReportRepository } from "../repositories/inspection-fleet-report.repository";
import { InspectionFleetAnswerRepository } from "../repositories/inspection-fleet-answer.repository";
import { Repository } from "typeorm";
import { FilterInspectionReportDto } from "../dto/filter-inspection-report.dto";
export declare class InspectionQuestionsService {
    private readonly configService;
    private readonly inspectionQuestionRepository;
    private readonly inspectionAnswerOptionRepository;
    private readonly inspectionFleetReportRepository;
    private readonly inspectionFleetAnswerRepository;
    private inspectionFleetReportModuleRepository;
    constructor(configService: ConfigService, inspectionQuestionRepository: InspectionQuestionsRepository, inspectionAnswerOptionRepository: InspectionAnswerOptionRepository, inspectionFleetReportRepository: InspectionFleetReportRepository, inspectionFleetAnswerRepository: InspectionFleetAnswerRepository, inspectionFleetReportModuleRepository: Repository<InspectionFleetReport>);
    create(createInspectionQuestionDto: CreateInspectionQuestionDto): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    findAll(filterInspectionQuestionDto: FilterInspectionQuestionDto): Promise<{
        success: boolean;
        code: number;
        message: string;
        data: any;
    }>;
    findOne(id: number): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    update(id: number, updateInspectionQuestionDto: UpdateInspectionQuestionsDto): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    remove(id: number): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    removeOption(questionId: number, optionId: number): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    createReportWithAnswers(createReportDto: CreateInspectionReportWithAnswersDto): Promise<{
        success: boolean;
        code: number;
        message: string;
        data: any;
    }>;
    getAllInspectionReports(filterInspectionReportDto: FilterInspectionReportDto): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    getInspectionReport(id: number): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    uploadInspectionReportPhotos(id: number, photos?: {
        front_side_photo?: Express.Multer.File[];
        right_side_photo?: Express.Multer.File[];
        back_side_photo?: Express.Multer.File[];
        left_side_photo?: Express.Multer.File[];
    }): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    checkDataExist(questionText: string, field: string, excludeId?: number): Promise<boolean>;
}
