/**-----------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { OnDestroy, NgZone } from '@angular/core';
import { PDFService } from './pdf.service';
import { pdf } from '@progress/kendo-drawing';
import * as i0 from "@angular/core";
/**
* Configures the settings for exporting the Scheduler to PDF
* ([see example](https://www.telerik.com/kendo-angular-ui/components/scheduler/pdf-export)).
*
* @example
* ```html
*
*
*
* ```
*/
export declare class PDFComponent implements OnDestroy {
protected pdfService: PDFService;
protected ngZone: NgZone;
/**
* The author (metadata) of the PDF document.
*/
author: string;
/**
* A flag that indicates whether to produce actual hyperlinks in the exported PDF file.
* It is also possible to set a CSS selector. All matching links will be ignored.
*/
avoidLinks: boolean | string;
/**
* Sets the creator of the PDF document.
*
* @default 'Kendo UI PDF Generator'
*/
creator: string;
/**
* Sets the date when the PDF document is created.
*
* @default 'new Date()'
*/
date: Date;
/**
* Sets the forced resolution of the images in the exported PDF document.
* By default, the images are exported at their full resolution.
*/
imageResolution: number;
/**
* Specifies the name of the exported PDF file.
*/
fileName: string;
/**
* If set to `true`, the content is forwarded to `proxyURL` even if the
* browser supports local saving of files.
*/
forceProxy: boolean;
/**
* The keywords (metadata) of the PDF document.
*/
keywords: string;
/**
* Specifies the margins of the page.
* @default 'pt'
*/
margin: string | number | pdf.PageMargin;
/**
* Sets the scale factor for the output in PDF. Use this option when the text size on the screen is too big for printing.
*
* @default 1
*/
scale: number;
/**
* A key/value dictionary of form values which will be sent to the proxy.
* Can be used to submit Anti-Forgery tokens and other metadata.
*/
proxyData?: {
[key: string]: string;
};
/**
* The URL of the server-side proxy which streams the file to the end user. You need to use a proxy if
* the browser is not capable of saving files locally—for example, Internet Explorer 9 and Safari.
* It is your responsibility to implement the server-side proxy. The proxy returns the decoded file with
* the `"Content-Disposition"` header set to `attachment; filename=""`.
*
* In the request body, the proxy receives a POST request with the following parameters:
* - `"contentType"`—The MIME type of the file.
* - `"base64"`—The base-64 encoded file content.
* - `"fileName"`—The file name, as requested by the caller.
*
*/
proxyURL: string;
/**
* Sets the name or keyword that indicates where to display the document returned from the proxy.
*
* To display the document in a new window or iframe, the proxy has to have the
* `"Content-Disposition"` header set to `inline; filename=""`.
*
* @default '_self'
*/
proxyTarget: string;
/**
* The producer (metadata) of the PDF document.
*/
producer: string;
/**
* The subject (metadata) of the PDF document.
*/
subject: string;
/**
* The title (metadata) of the PDF document.
*/
title: string;
private subscriptions;
private container;
constructor(pdfService: PDFService, ngZone: NgZone);
ngOnDestroy(): void;
protected get drawOptions(): any;
protected get pdfOptions(): any;
protected get saveOptions(): any;
protected createElement(args: any): void;
protected save(element: any): void;
protected drawElement(element: any, options: any): any;
protected exportGroup(group: any): Promise;
protected saveDataUri(dataUri: string): void;
protected done(): void;
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵcmp: i0.ɵɵComponentDeclaration;
}