import * as Ast from "@unified-latex/unified-latex-types";
/**
 * Generate a data structure that can be queried
 * for the next/previous node. This allows for "peeking"
 * during the rendering process.
 *
 * @class ReferenceMap
 */
export declare class ReferenceMap {
    ast: Ast.Ast;
    map: Map<Ast.Ast, {
        previous?: Ast.Ast;
        next?: Ast.Ast;
        renderCache?: any;
    }>;
    constructor(ast: Ast.Ast);
    /**
     * Associate render-specific data with this node. This data
     * will be overwritten if `setRenderCache` is called twice.
     *
     * @param {Ast.Ast} node
     * @param {*} data
     * @memberof ReferenceMap
     */
    setRenderCache(node: any, data: any): void;
    /**
     * Retrieve data associated with `node` via `setRenderCache`
     *
     * @param {Ast.Ast} node
     * @returns {(object | undefined)}
     * @memberof ReferenceMap
     */
    getRenderCache(node: any): object | any[] | undefined;
    getPreviousNode(node: Ast.Ast): Ast.Node | undefined;
    getNextNode(node: Ast.Ast): Ast.Node | undefined;
}
//# sourceMappingURL=reference-map.d.ts.map