import { OnModuleDestroy } from '@nestjs/common';
import { Repository } from 'typeorm';
import { AuditReport } from '../entities/audit-report.entity';
import { ReportTemplate } from '../entities/report-template.entity';
import { ReportBuilderService } from './report-builder.service';
import { ReportImageService } from './report-image.service';
export type RenderPart = 'all' | 'cover' | 'body';
export declare class ReportRenderService implements OnModuleDestroy {
    private readonly reports;
    private readonly templates;
    private readonly builder;
    private readonly images;
    private readonly logger;
    private browser;
    private browserLaunching;
    private readonly compiled;
    private assets;
    private readonly coverCache;
    private readonly hb;
    constructor(reports: Repository<AuditReport>, templates: Repository<ReportTemplate>, builder: ReportBuilderService, images: ReportImageService);
    onModuleDestroy(): Promise<void>;
    private templateDir;
    templateDirPublic(): string;
    private dataUri;
    private coverFor;
    private loadAssets;
    private registerHelpers;
    private compile;
    getViewModel(reportId: number): Promise<{
        vm: any;
        report: AuditReport;
    }>;
    private templateFile;
    renderHtml(reportId: number, part?: RenderPart, opts?: {
        watermark?: boolean;
    }): Promise<string>;
    renderFromVm(vm: any, report: AuditReport, part: RenderPart, opts?: {
        watermark?: boolean;
    }): Promise<string>;
    private getBrowser;
    private htmlToPdf;
    private headerHtml;
    renderPdf(reportId: number, override?: {
        vm: any;
        report: AuditReport;
    }): Promise<Buffer>;
    renderCoverPdf(vm: any, report: AuditReport): Promise<Buffer>;
}
