import { Expression } from '../ast/renderer-ast-dfn'; import { AccessorExpr, Expr } from 'san'; export declare enum OutputType { NONE = 0, ESCAPE = 1, HTML = 2, ESCAPE_HTML = 3 } export declare function dataAccess(accessorExpr: AccessorExpr, outputType: OutputType): Expression; /** * expr 对应的 AST 表达式 * * 注意:我们总是把 output 参数往下传递,而非在最外层把结果去做 escape。 * 这是为了让编译后的代码更高效,因为只有叶结点才最清楚这个结点能否在编译期 escape,例如: * * {{ "<" }} // 对应的表达式为 InterpNode{ LiteralNode } * * - 我们让内层的 LiteralNode 来处理自己的转义,直接输出 "<" * - 如果让 InterpNode 来处理,输出则是 "_.output("<", true)" */ export declare function sanExpr(e: Expr, output?: OutputType): Expression;