import { PDFObject } from './pdf-object.ts'; import type { PDFRef } from './pdf-ref.ts'; import { PDFWriter } from './pdf-writer.ts'; /** * Entry representing an object to be stored in an object stream. */ export type ObjectStreamEntry = { /** The object reference (object number and generation). */ readonly ref: PDFRef; /** The PDF object to store. */ readonly object: PDFObject; }; /** * Represents a PDF object stream (`ObjStm`), which packs multiple * non-stream objects into a single compressed stream. This reduces file * size by eliminating per-object overhead and applying compression * across objects. * * Object streams were introduced in PDF 1.5. */ export declare class PDFObjectStream extends PDFObject { private readonly entries; private readonly compress; private constructor(); /** * Creates a new object stream from the given entries. * All entries must have generation number 0. */ static of(entries: readonly ObjectStreamEntry[], compress?: boolean): PDFObjectStream; /** * Returns the object numbers stored in this object stream, in order. */ get objectNumbers(): number[]; /** * Writes the object stream to the given PDFWriter. */ write(writer: PDFWriter): void; }