/**----------------------------------------------------------------------------------------- * Copyright © 2025 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the project root for more information *-------------------------------------------------------------------------------------------*/ import { ElementRef, OnDestroy, NgZone, QueryList } from '@angular/core'; import { Subscription } from 'rxjs'; import { SuspendService } from '../scrolling/suspend.service'; import { PDFService } from './pdf.service'; import { PDFMarginComponent } from './pdf-margin.component'; import { PDFTemplateDirective } from './pdf-template.directive'; import { ColumnBase } from '../columns/column-base'; import { DrawOptions, Group } from '@progress/kendo-drawing'; import { PDFExportComponent } from '@progress/kendo-angular-pdf-export'; import { ContextService } from '../common/provider.service'; import * as i0 from "@angular/core"; /** * Configures the settings for exporting the Grid to PDF. ([See example]({% slug pdfexport_grid %})). * * Use this component to customize PDF export options for the Grid. * * @example * ```html * * * * ``` * @remarks * Supported children components are: {@link PDFMarginComponent}. */ export declare class PDFComponent extends PDFExportComponent implements OnDestroy { protected pdfService: PDFService; protected suspendService: SuspendService; protected ngZone: NgZone; private ctx; /** * Exports all Grid pages, starting from the first page. */ allPages: boolean; /** * Sets the delay in milliseconds before exporting the Grid content. * Use this property when exporting complex components in Grid templates, such as charts or data-bound components with asynchronous data retrieval. ([See example]({% slug pdfexport_grid %}#toc-exporting-all-pages)). * * @default 0 */ delay: number; columns: QueryList; /** * @hidden */ marginComponent: PDFMarginComponent; /** * @hidden */ pageTemplateDirective: PDFTemplateDirective; protected progress: HTMLElement; protected component: any; protected container: HTMLElement; protected skip: number; protected pageSize: number; protected originalHeight: string; protected originalOverflow: string; protected saveSubscription: Subscription; protected drawSubscription: Subscription; protected renderAllPages: boolean; protected originalColumns: ColumnBase[]; constructor(pdfService: PDFService, suspendService: SuspendService, ngZone: NgZone, element: ElementRef, ctx: ContextService); ngOnDestroy(): void; /** * @hidden */ saveAs(): void; /** * @hidden */ export(): Promise; protected savePDF(component: any): void; protected drawPDF({ component, promise }: any): void; protected createPDF(component: any, callback: any): void; protected initProgress(): void; protected applyScroll(overlay: HTMLElement): void; protected draw(): void; protected createExportGroup(promise: any): void; protected createExportElement(callback: any): void; protected drawOptions(): DrawOptions; protected cleanup(): void; protected removeContainer(): void; protected changePage(skip: number, _take: number, callback: () => void, columns?: any[]): void; protected changeColumns(columns: any[], callback: () => void): void; protected reset(): void; protected onStable(callback: () => void): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }