import * as i0 from '@angular/core'; import { InjectionToken, ElementRef } from '@angular/core'; type PageSize = 'A4' | 'A3' | 'A5' | 'Letter' | 'Legal' | 'Tabloid' | 'Ledger' | 'Executive' | 'B4' | 'B5'; type PageOrientation = 'portrait' | 'landscape'; interface PdfExportConfig { pageSize?: PageSize; orientation?: PageOrientation; margins?: { top: number; bottom: number; left: number; right: number; }; filename?: string; metadata?: { title?: string; author?: string; subject?: string; }; openInNewTab?: boolean; } declare const PDF_EXPORT_CONFIG: InjectionToken; declare class PdfExportService { private readonly config; private readonly platformId; private readonly PAGE_SIZES; constructor(config: PdfExportConfig, platformId: object); exportHtml(element: HTMLElement, overrideConfig?: PdfExportConfig): Promise; private _triggerDownload; private _widthPxToPt; private _heightPxToPt; /** * Get page dimensions based on page size and orientation */ private _getPageDimensions; /** * Get available page sizes */ getAvailablePageSizes(): string[]; /** * Calculate the scale factor to fit content width to page width */ private _calculateScaleFactor; /** * Calculate scale factor with margin preservation */ private _calculateScaleFactorWithMargins; /** * Calculate how many pages are needed for the given content height */ private _calculateRequiredPages; /** * Detect optimal content break points by analyzing element boundaries */ private _detectContentBreakPoints; /** * Calculate smart page breaks that respect content boundaries */ private _calculateSmartPageBreaks; /** * Create a canvas section for a specific page with smart boundaries */ private _createSmartPageCanvas; /** * Create a canvas section for a specific page */ private _createPageCanvas; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } declare class PdfExportDirective { private readonly el; private readonly svc; pageSize?: PageSize; orientation?: PageOrientation; filename?: string; openInNewTab?: boolean; pdfConfig?: PdfExportConfig; constructor(el: ElementRef, svc: PdfExportService); onClick(): Promise; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } declare class PdfExportComponent { private readonly svc; content: ElementRef; pageSize?: PageSize; orientation?: PageOrientation; filename?: string; openInNewTab?: boolean; pdfConfig?: PdfExportConfig; constructor(svc: PdfExportService); export(): Promise; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } export { PDF_EXPORT_CONFIG, PdfExportComponent, PdfExportDirective, PdfExportService }; export type { PageOrientation, PageSize, PdfExportConfig };