/**
 * @file 解析过程共享存储
 * @module transformer/core/ParserStore
 */
import type { MarkdownNode } from "../../transformer/core/MarkdownNode.js";
import type { BlockParseContext } from "../../transformer/core/context/BlockParseContext.js";
export type ParseFinalizer = (root: MarkdownNode, ctx: BlockParseContext) => MarkdownNode | void;
export declare class ParserStore {
    lines: string[];
    private store;
    private finalizers;
    constructor(lines: string[]);
    registerFinalizer(name: string, fn: ParseFinalizer): void;
    /**
     * 解析结束后依次执行已注册的 finalizer。
     */
    finalize(root: MarkdownNode, ctx: BlockParseContext): MarkdownNode;
    /**
     * 判断 store 中是否存在指定的键
     * @param key 键名
     */
    has(key: string): boolean;
    /**
     * 从 store 中获取共享数据
     * @param key 键名
     * @returns 存储的值
     */
    get<T = unknown>(key: string): T | undefined;
    /**
     * 向 store 中存入共享数据
     * @param key 键名
     * @param value 对应的值
     */
    set(key: string, value: unknown): void;
    /**
     * 删除 store 中的指定数据
     * @param key 键名
     * @returns 是否成功删除（存在该键并删除返回 true，否则返回 false）
     */
    delete(key: string): boolean;
    /**
     * 清空 store 中的所有共享数据
     */
    clear(): void;
    getAll(): Record<string, unknown>;
}
//# sourceMappingURL=ParserStore.d.ts.map