import { ConfigService } from '@nestjs/config';
import { SettingService } from '../setting/setting.service';
import { PdfAreaType, PdfThemeConfig } from './interfaces/pdf-theme-config.interface';
export interface PdfGenerateOptions {
    format?: 'A4' | 'A3' | 'Letter';
    margin?: {
        top?: string;
        right?: string;
        bottom?: string;
        left?: string;
    };
    printBackground?: boolean;
    landscape?: boolean;
}
export declare class PdfService {
    private readonly settingService;
    private readonly configService;
    private readonly logger;
    constructor(settingService: SettingService, configService: ConfigService);
    /**
     * Resolves the active PdfThemeConfig for the given area.
     * Reads admin-configured overrides from SettingService and falls back to
     * the hard-coded Design System v1.0 defaults.
     */
    loadThemeConfig(area?: PdfAreaType): Promise<PdfThemeConfig>;
    /**
     * Resolves a potentially relative URL (e.g. /logo.svg) to an absolute URL
     * using the API base URL derived from environment variables.
     */
    private resolveUrl;
    /**
     * Renders an HTML string to a PDF buffer using Playwright/Chromium.
     *
     * Uses dynamic `import()` via `new Function` to remain compatible with
     * CommonJS bundle output (same pattern as operations.service.ts).
     */
    generatePdfFromHtml(html: string, options?: PdfGenerateOptions): Promise<Buffer>;
    /**
     * Generates a PDF from a named template and structured data.
     * The theme is resolved automatically from `data.area` via SettingService.
     */
    generatePdfFromTemplate(templateName: string, data: Record<string, any>, options?: PdfGenerateOptions): Promise<Buffer>;
}
//# sourceMappingURL=pdf.service.d.ts.map