import { TransformVisitor } from "visitor-as"; import { ClassDeclaration, CommonFlags, DiagnosticEmitter, EnumDeclaration, ExportDefaultStatement, ExportStatement, FunctionDeclaration, InterfaceDeclaration, TypeDeclaration, VariableDeclaration } from "assemblyscript"; /** * ExportEraser remove all `export` flags for current source. * * It's used to remove all export items in entrypoint file excluding whiltelist (`call` and `deploy` functions). * Thus a contract source also could be a normal lib. */ export declare class ExportEraser extends TransformVisitor { readonly emitter: DiagnosticEmitter; readonly whitelist: Set<{ flags: CommonFlags; }>; constructor(emitter: DiagnosticEmitter, whitelist?: Set<{ flags: CommonFlags; }>); private removeExportFlag; visitClassDeclaration(node: ClassDeclaration): ClassDeclaration; visitFunctionDeclaration(node: FunctionDeclaration): FunctionDeclaration; visitTypeDeclaration(node: TypeDeclaration): TypeDeclaration; visitVariableDeclaration(node: VariableDeclaration): VariableDeclaration; visitEnumDeclaration(node: EnumDeclaration, _isDefault?: boolean): EnumDeclaration; visitInterfaceDeclaration(node: InterfaceDeclaration): InterfaceDeclaration; visitExportDefaultStatement(node: ExportDefaultStatement): ExportDefaultStatement; visitExportStatement(node: ExportStatement): ExportStatement; }