import { ByteArray } from '../types.js'; import { Parser } from './parser/parser.js'; import { PdfToken } from './tokens/token.js'; /** * Serializes PDF tokens into a byte stream. * Handles byte offset calculation and token serialization. */ export declare class PdfTokenSerializer extends Parser { /** Current byte offset in the output stream */ offset: number; private buffer; /** * Feeds tokens into the serializer buffer. * * @param input - PDF tokens to serialize */ feed(...input: PdfToken[]): void; /** * Efficiently feeds many tokens into the serializer buffer at once. * Use this instead of spreading large arrays to avoid stack overflow. * * @param tokens - Array of PDF tokens to serialize */ feedMany(tokens: PdfToken[]): void; /** * Generates bytes from the buffered tokens. * Updates byte offset tokens as they are encountered. * * @returns A generator yielding individual bytes */ nextItems(): Generator; /** * Pre-calculates byte offsets for all byte offset tokens in the buffer. * Does not consume the buffer. */ calculateOffsets(): void; /** * Serializes all buffered tokens to a byte array. * * @returns The serialized PDF as a Uint8Array */ toBytes(): ByteArray; }