/**
 * @file 块级语法：标题
 * @module transformer/gfm/block/heading
 *
 * ATX 标题（# ~ ######）
 * id 配置：`syntaxOptions.atx_heading.id`（setext 标题共用）
 */
import { BaseBlockParser, type ParserOptions } from "../../../transformer/core/ParserBase.js";
import { type MarkdownNode } from "../../../transformer/core/MarkdownNode.js";
import type { RenderContext } from "../../../transformer/core/context/RenderContext.js";
import { BlockParseContext } from "../../../transformer/core/context/BlockParseContext";
import { ParserStore } from "../../../transformer/core/ParserStore";
/** ATX 和 Setext 标题节点类型 */
export declare const HEADING_NODE_TYPES: Set<string>;
export interface AtxHeadingOptions extends ParserOptions {
    slug?: boolean;
}
export declare function isSlug(options: ParserOptions): boolean;
/**
 * 标题文本 → id：生成唯一 id（带去重）。
 * 去 重逻辑由 store 中的 atxSlugs 注册表保证。
 */
export declare function assignId(text: string, store: ParserStore): string;
/** 渲染标题 HTML，支持可选 id 属性。 */
export declare function renderHeadingHtml(node: MarkdownNode, ctx: RenderContext, slug: boolean, sourceLineAttrs: string): string;
declare class HeadingBlockParser extends BaseBlockParser {
    constructor();
    canOpenAt(lines: string[], index: number, ctx: BlockParseContext): boolean;
    parse(lines: string[], index: number, ctx: BlockParseContext): {
        node: MarkdownNode;
        nextIndex: number;
    } | null;
    render(node: MarkdownNode, ctx: RenderContext): string;
}
declare const atxHeadingParser: HeadingBlockParser;
export default atxHeadingParser;
//# sourceMappingURL=atx_heading.d.ts.map