/// <reference types="node" />
import { IAsyncArgdownPlugin, IAsyncRequestHandler } from "../IAsyncArgdownPlugin";
import { IArgdownRequest, IRequestHandler } from "@argdown/core";
import { IFileNameProvider } from "./SaveAsFilePlugin";
export interface IPdfSettings {
    outputDir?: string;
}
export interface ISvgToPdfSettings {
    outputDir?: string;
    format?: string;
    fileName?: string | IFileNameProvider;
    pdf?: {
        compress?: boolean;
    };
    svg?: {
        useCSS?: boolean;
        assumePt?: boolean;
        preserveAspectRatio?: string;
    };
    width?: number;
    height?: number;
    padding?: number;
    fonts?: {
        name: string;
        path: string;
    }[];
}
declare module "@argdown/core" {
    interface IArgdownRequest {
        pdf?: IPdfSettings;
        svgToPdf?: ISvgToPdfSettings;
    }
}
export declare class SvgToPdfExportPlugin implements IAsyncArgdownPlugin {
    name: string;
    defaults: ISvgToPdfSettings;
    constructor(config?: ISvgToPdfSettings);
    getSettings(request: IArgdownRequest): ISvgToPdfSettings;
    prepare: IRequestHandler;
    runAsync: IAsyncRequestHandler;
    savePdfToFile(pdf: any, fileName: string): Promise<void>;
    getFileName(file: string): string;
    toArrayBuffer(buf: Buffer): ArrayBuffer;
}
