import PDFCrossRefSection from "pdf-lib/src/core/document/PDFCrossRefSection";
import PDFHeader from "pdf-lib/src/core/document/PDFHeader";
import PDFTrailer from "pdf-lib/src/core/document/PDFTrailer";
import PDFTrailerDict from "pdf-lib/src/core/document/PDFTrailerDict";
import PDFDict from "pdf-lib/src/core/objects/PDFDict";
import PDFObject from "pdf-lib/src/core/objects/PDFObject";
import PDFRef from "pdf-lib/src/core/objects/PDFRef";
import PDFContext from "pdf-lib/src/core/PDFContext";
export interface SerializationInfo {
    size: number;
    header: PDFHeader;
    indirectObjects: [PDFRef, PDFObject][];
    xref?: PDFCrossRefSection;
    trailerDict?: PDFTrailerDict;
    trailer: PDFTrailer;
}
declare class PDFWriter {
    static forContext: (context: PDFContext, objectsPerTick: number) => PDFWriter;
    protected readonly context: PDFContext;
    protected readonly objectsPerTick: number;
    private parsedObjects;
    protected constructor(context: PDFContext, objectsPerTick: number);
    serializeToBuffer(): Promise<Uint8Array>;
    protected computeIndirectObjectSize([ref, object]: [PDFRef, PDFObject]): number;
    protected createTrailerDict(): PDFDict;
    protected computeBufferSize(): Promise<SerializationInfo>;
    protected shouldWaitForTick: (n: number) => boolean;
}
export default PDFWriter;
//# sourceMappingURL=PDFWriter.d.ts.map