/**
 * @file 引用链接 render 阶段解析
 * @module transformer/utils/linkReference
 */
import type { MarkdownNode } from "../../transformer/core/MarkdownNode.js";
import type { RenderContext } from "../../transformer/core/context/RenderContext";
export interface ReferenceLinkCandidate {
    offset: number;
    end: number;
    refKey: string;
    children: MarkdownNode[];
}
/** 从 `[` 起向后收集连续的 `[..][..]` / `[..]` 括号段，供 render 阶段选用。 */
export declare function findReferenceWindowEnd(src: string, start: number): number;
/** 收集 span 内所有 full reference `[text][ref]` 候选（parse 阶段，不查 store）。 */
export declare function collectFullReferenceCandidates(span: string, parseInline: (text: string) => MarkdownNode[]): ReferenceLinkCandidate[];
/** render 阶段：按从左到右尝试候选，选用 store 中首个命中的引用。 */
export declare function renderReferenceLinkSpan(window: string, candidates: ReferenceLinkCandidate[], ctx: RenderContext, literalFallback: string): string;
/** 图片 alt 取纯文本（emphasis 等展平为字面量）。 */
export declare function flattenImageAlt(nodes: MarkdownNode[]): string;
/** render 阶段：shortcut / full / collapsed 引用图片。 */
export declare function renderReferenceImage(refKey: string, children: MarkdownNode[], ctx: RenderContext): string;
//# sourceMappingURL=linkReference.d.ts.map