import type { Element, ElementContent } from 'hast';
/**
 * Creates a link element wrapping the given children.
 * When `tagName` is provided, emits a custom component element with `name` property.
 * Otherwise, emits a standard `<a>` element.
 */
export declare function createLinkElement(href: string, children: ElementContent[], identifier: string, className?: string[], tagName?: string): Element;
/**
 * Creates a prop ref element wrapping the given children.
 *
 * When `isDefinition` is true, the property is the canonical definition site:
 * emits a `<span id="...">` (or custom component with `id` instead of `href`).
 * Otherwise, it's a reference: emits an `<a href="...">` (or custom component with `href`).
 */
export declare function createPropRefElement(anchor: string, children: ElementContent[], ownerName: string, propPath: string, isDefinition: boolean, className?: string[], tagName?: string): Element;
/**
 * Creates a HAST element for a function parameter reference.
 *
 * When a custom tag is provided (`typeParamRefComponent`), emits that element with
 * `name` (owner) and `param` (parameter name) attributes.
 * Otherwise falls back to `<span id>` (definition) or `<a href>` (reference).
 */
export declare function createParamRefElement(anchor: string, children: ElementContent[], ownerName: string, paramName: string, isDefinition: boolean, className?: string[], tagName?: string): Element;
/**
 * Creates a HAST element for a tracked literal value reference.
 *
 * When a custom tag is provided (`typeValueRefComponent`), emits that element with
 * `value` (the literal value string) and `name` (the variable/expression name) attributes.
 * Otherwise falls back to `<span data-value="...">`.
 *
 * When `refs` is provided, a JSON-serialized map of variable names to type-ref
 * anchors is attached (attribute `refs` or `data-refs`).
 */
export declare function createValueRefElement(value: string, children: ElementContent[], name: string, className?: string[], tagName?: string, refs?: Record<string, string>): Element;