/**
 * DocCards 渲染层工具函数集合。
 *
 * 本模块刻意保持「零外部依赖」（仅原生字符串/正则与 `src/Utils/columnMatching.ts`
 * 中的纯字符串工具）。请勿在此引入 React / antd / remark / rehype 等运行时依赖，
 * 以免被消费方按需引用时把整套 markdown 解析栈带进 bundle。
 */
import { type DocCardsField, type DocCardsFieldMap, type ResolvedDocCardsFields } from '../../../Utils/columnMatching';
/**
 * 重新导出共享类型与解析函数，保持原有 import 路径向后兼容。
 *
 * 真实实现位于 `src/Utils/columnMatching.ts`，与 `parseTable` 共用同一份别名表，
 * 避免「同一份契约多处定义」漂移。
 */
export type { DocCardsField, DocCardsFieldMap, ResolvedDocCardsFields };
export declare const resolveDocCardsFields: (columnKeys: string[], override?: Partial<Record<DocCardsField, string>> | undefined) => ResolvedDocCardsFields | null;
/**
 * 字段别名表。保持向后兼容的导出名。
 */
export declare const DEFAULT_FIELD_ALIASES: Record<DocCardsField, string[]>;
/**
 * 拆分单元格内的标签字符串为去重后的标签数组。
 *
 * 同时容忍 `tag1, tag2`、`tag1；tag2`、`tag1、tag2 / tag3` 等写法；
 * 空字符串、`null`/`undefined` 输入均返回 `[]`。
 */
export declare const splitTags: (raw: unknown) => string[];
/**
 * 校验给定 url 是否可以安全渲染为 `a[href]`。
 *
 * 放行：
 * - `http://` / `https://` 绝对链接；
 * - `mailto:` / `tel:` 协议链接；
 * - 站内**单斜杠**绝对路径 `/foo`、相对路径 `./foo` / `../foo`；
 * - 站内锚点 `#section`。
 *
 * 拒绝：
 * - **protocol-relative URL** `//evil.com`（会沿用当前页协议跳到外部域，绕过协议白名单）；
 * - `javascript:` / `data:` / `vbscript:` 等可执行/数据 URI；
 * - 任何空值、空白字符串与非字符串输入。
 */
export declare const isSafeHref: (raw: unknown) => boolean;
/**
 * 判断给定链接是否「外部」需要在新 tab 中打开。
 *
 * `http(s)` / `mailto:` / `tel:` 视为外部；站内绝对路径、相对路径与锚点视为内部
 * （内部链接在原 tab 中跳转，避免破坏锚点滚动等浏览器原生行为）。
 *
 * 对未通过 {@link isSafeHref} 的 URL 直接返回 `false`，调用方应已先做安全校验。
 */
export declare const isExternalLink: (raw: unknown) => boolean;
/**
 * 将原始 URL 简写为「hostname + path」便于在卡片中展示，长链截断到指定字符数。
 *
 * - `http(s)` 链接：返回 `host + pathname + search`，去掉 protocol 与末尾 `/`；
 * - `mailto:` / `tel:`：返回去 scheme 后的纯地址；
 * - 站内相对路径 / 解析失败：原样返回；
 * - 任何超过 `maxLength` 的结果会按尾部省略，确保最终长度 ≤ `maxLength + 1`。
 */
export declare const formatDisplayUrl: (raw: unknown, maxLength?: number) => string;
