import { Literal, FunctionDefinition, Statement, Expression, SlotRendererDefinition } from '../ast/renderer-ast-dfn'; import { Emitter } from '../utils/emitter'; export declare class JSEmitter extends Emitter { writeSyntaxNode(node: Expression | Statement): void; /** * 把一个字面量对象按 JS 语法输出。例如:{ foo: new Date(333) } */ writeLiteral(node: Literal): void; private writeForeachStatement; writeFunctionDefinition(node: FunctionDefinition | SlotRendererDefinition): void; private writeBlockStatements; private writeVariableDefinition; private writeArrayLiteral; private writeUnaryExpression; private writeMapLiteral; private writeExpressionList; writeFunction(name?: string, args?: string[], body?: Function): void; writeBlock(expr: string, cb?: Function, nl?: boolean): void; beginBlock(expr: string, nl: boolean): void; endBlock(nl: boolean): void; }