import { PDFIndirectReference, PDFObject } from '../pdf-objects';
import { PDFContentStream } from '../pdf-structures';
declare class PDFObjectIndex {
    static create: () => PDFObjectIndex;
    index: Map<PDFIndirectReference, PDFObject>;
    /** @hidden */
    pushGraphicsStateContentStream?: PDFIndirectReference<PDFContentStream>;
    /** @hidden */
    popGraphicsStateContentStream?: PDFIndirectReference<PDFContentStream>;
    highestObjectNumber: number;
    assign: (key: PDFIndirectReference<PDFObject>, val: PDFObject) => this;
    nextObjectNumber: () => PDFIndirectReference<PDFObject>;
    assignNextObjectNumberTo: (val: PDFObject) => PDFIndirectReference<PDFObject>;
    lookupMaybe: <T extends PDFObject = PDFObject>(ref: void | PDFObject | PDFIndirectReference<PDFObject>) => void | T;
    lookup: <T extends PDFObject = PDFObject>(ref: PDFObject | PDFIndirectReference<PDFObject>) => T;
}
export default PDFObjectIndex;
