import { Identifier, Expression, StringLiteral, ObjectExpression, CallExpression, MemberExpression } from "@babel/types"; import { Helper } from "../helper"; export default class Template { helper: Helper; private bodyStatement; private mountStatement; private updateStatement; private destroyStatement; constructor(helper: Helper); hoistHandle(expression: Expression): Identifier; element(options: { tag: string; props: ObjectExpression; target: Identifier | MemberExpression; anchor?: Identifier; }): Identifier; text(options: { str: StringLiteral; target: Identifier | MemberExpression; anchor?: Identifier; }): Identifier; component(options: { tag: string; props: ObjectExpression; target: Identifier | MemberExpression; anchor?: Identifier; }): Identifier; condition(options: { express: Expression; test: Expression; target: Identifier | MemberExpression; anchor?: Identifier; }): Identifier; expression(options: { express: Expression; target: Identifier | MemberExpression; anchor?: Identifier; }): Identifier; renderList(options: { express: Expression; target: Identifier | MemberExpression; anchor?: Identifier; }): Identifier; private getTemplateExpression; generate(): CallExpression; }