import { ReactElement } from "react"; export declare function isTemplateString(text: string): boolean; /** * 收集元素中所有模板字符串的变量名 * @param element 元素 * @returns 变量名数组 */ export declare function collectTemplateVariables(element: any): string[]; export declare function processMatchTemplateString(element: any, data: Record): any; /** * 处理模板字符串,把数据填充到模板字符串中 * @param element 元素数组 * @param data 数据 * @param nameFilter 变量名过滤器,设置后只会解析nameFilter中包含的变量,其他变量会被保留为字面占位符(如 ${varName})继续参与求值。 * @returns 处理后的元素数组 */ export declare function processTemplateString(element: T, data: Record, nameFilter?: (() => string[]) | string[]): T; /** * 解析模板字符串 * @param template 模板字符串 * @param args 参数对象 * @returns 解析后的字符串 **/ export declare function parseTemplateString(template: string, args: Record): string; /** * 处理 ReactElement 中的模板字符串,将数据中的值填充到模板字符串中 * * 与 `processTemplateString` 不同,该函数专门处理 ReactElement 类型: * - 递归处理子元素(若子元素是 ReactElement 则继续调用自身,否则回退到 `processTemplateString`) * - 处理元素的 props(字符串/对象/数组中的模板字符串会被替换) * - 最终通过 `React.createElement` 返回一个新的 ReactElement * * @param element 要处理的 ReactElement,不能为 null 或 undefined * @param data 模板数据,用于替换模板字符串中的占位符 * @returns 处理后的新 ReactElement * @throws 当 element 不是有效的 ReactElement 时抛出错误 */ export declare function processElementTemplateString(element: ReactElement, data: Record, nameFilter?: (() => string[]) | string[]): ReactElement; /** * 获取模板字符串的所有根级变量名(基于 JS 语法解析) * @param template 模板字符串 * @returns 变量名数组 */ export declare function getTemplateVariables(template: string): string[]; export declare function isMemberExists(obj: Record, member: string): boolean;