import { PdfToken } from '../tokens/token.js'; import { PdfName } from './pdf-name.js'; import { PdfObject } from './pdf-object.js'; export type PdfDictionaryEntry = PdfObject | undefined; export type PdfDictionaryEntries = Record; export type PdfDictionaryMap = Map; export declare class PdfDictionary extends PdfObject { #private; innerTokens: PdfToken[]; constructor(entries?: T | PdfDictionaryMap); keys(): PdfName[]; get>(key: PdfName | K): T[K] | undefined; move>(fromKey: PdfName | K, toKey: PdfName | K): void; set>(key: PdfName | K, value: T[K]): void; delete>(key: PdfName | K): void; has>(key: PdfName | K): boolean; get values(): { readonly [K in Extract]: T[K]; }; /** * Returns an iterator for the dictionary entries. * Each entry is a tuple of [key string, value]. */ entries(): IterableIterator<[string, PdfObject | undefined]>; toJSON(): { type: string; entries: Record; }; get isTrailingDelimited(): boolean; protected tokenize(): PdfToken[]; /** Factory-style type conversion: constructs a new instance passing `this` as the first argument */ becomes(cls: new (source: PdfDictionary, ...args: A) => U, ...args: A): U; copyFrom(other: PdfDictionary): void; cloneImpl(): this; setModified(modified?: boolean): void; isModified(): boolean; setImmutable(immutable?: boolean): void; }