import { ConfigService } from '@nestjs/config';
import { ModelsService } from 'src/models/models.service';
import { CommonService } from 'src/common/common.service';
import { TranslationService } from 'src/common/services/translation.service';
import { GlacierService } from 'src/uploads/upload.service';
import { CreateQuoteComparisonDto, QuoteComparisonListDto } from './dto/quote-comparison.dto';
import { GeminiService } from './gemini.service';
import { QuotePdfService } from './quote-pdf.service';
export declare class QuoteComparisonService {
    private readonly models;
    private readonly common;
    private readonly translationService;
    private readonly gemini;
    private readonly pdf;
    private readonly uploads;
    private readonly config;
    private readonly logger;
    constructor(models: ModelsService, common: CommonService, translationService: TranslationService, gemini: GeminiService, pdf: QuotePdfService, uploads: GlacierService, config: ConfigService);
    private t;
    private fail;
    private selfScoped;
    private lookupStages;
    private toDto;
    private findLeadScoped;
    private static readonly MAX_PDF_BYTES;
    private cleanString;
    private cleanNumber;
    private cleanList;
    extractFromPdf(file: {
        buffer: Buffer;
        mimetype: string;
        size: number;
    } | undefined, lang: string): Promise<{
        status: string;
        message: string;
        data: any;
    }>;
    create(leadId: string, dto: CreateQuoteComparisonDto, actor: any, lang: string): Promise<{
        status: string;
        message: string;
        data: any;
    }>;
    list(leadId: string, query: QuoteComparisonListDto, actor: any, lang: string): Promise<{
        status: string;
        message: string;
        data: any[];
        pagination: {
            total: number;
            page: number;
            limit: number;
            totalPages: number;
            hasNextPage: boolean;
            hasPrevPage: boolean;
        };
    }>;
    getById(leadId: string, id: string, actor: any, lang: string): Promise<{
        status: string;
        message: string;
        data: any;
    }>;
    remove(leadId: string, id: string, actor: any, lang: string): Promise<{
        status: string;
        message: string;
        data: any;
    }>;
}
