import { ConfigService } from '@nestjs/config';
export interface QuoteForAi {
    insurer_name: string;
    product_name: string | null;
    premium: number;
    sum_insured: number | null;
    quote_valid_till: number | null;
    co_pay: string | null;
    key_benefits: string[];
    add_ons: string[];
}
export interface AiComparison {
    overview: string;
    recommended: {
        quote_index: number;
        reason: string;
    };
    lowest_premium_reason: string;
    highlights: {
        quote_index: number;
        pros: string[];
        cons: string[];
    }[];
}
export declare class GeminiError extends Error {
    readonly kind: 'NOT_CONFIGURED' | 'FAILED';
    constructor(kind: 'NOT_CONFIGURED' | 'FAILED', message: string);
}
export interface ExtractedQuote {
    insurer: string;
    product_name: string;
    premium: number | null;
    sum_insured: number | null;
    quote_valid_till: string;
    co_pay: string;
    key_benefits: string[];
    add_ons: string[];
}
export declare class GeminiService {
    private readonly config;
    private readonly logger;
    constructor(config: ConfigService);
    get model(): string;
    private get models();
    private isRetryable;
    private generate;
    extractQuote(pdf: Buffer): Promise<ExtractedQuote>;
    compareQuotes(categoryName: string, quotes: QuoteForAi[], lowestIndex: number): Promise<AiComparison>;
    private validate;
}
