import { NgZone } from '@angular/core';
import { jsPDF } from 'jspdf';
import { ZuiLoadingService } from '../loading';
import { ZuiPrintOption } from './type';
export declare class ZuiPrintService {
    #private;
    private zuiLoadingService;
    private ngZone;
    constructor(zuiLoadingService: ZuiLoadingService, ngZone: NgZone);
    setOption: (options: ZuiPrintOption) => void;
    /**
     * With `addFont` access url: https://peckconsulting.s3.amazonaws.com/fontconverter/fontconverter.html
     * then upload `.ttf` file to generate `.js`/`.ts` file to import
     * - ex:
     * ```ts
     * this.#doc.addFileToVFS('times-normal.ttf', TimesNormal)
     * this.#doc.addFont('times-normal.ttf', 'times', 'normal')
     * ```
     */
    config: (callback: (doc: jsPDF) => void) => void;
    print: (id: string, inputOptions?: ZuiPrintOption) => void;
    getJsPdf: (id: string, inputOptions?: ZuiPrintOption) => Promise<jsPDF>;
    download: (id: string, inputOptions?: ZuiPrintOption) => Promise<void>;
    toBlob: (id?: string, inputOptions?: ZuiPrintOption) => Promise<Blob>;
    toBuffer: (id?: string, inputOptions?: ZuiPrintOption) => Promise<ArrayBuffer>;
}
