import * as ast from './ast'; import { ByteArray } from './ByteArray'; import { SectionBuffer } from './SectionBuffer'; export interface Options { includeNames: boolean; } export declare const defaultOptions: Options; export declare class BinaryWriter implements ast.Visitor { module: ast.Module; options: Options; section: SectionBuffer; bytes: ByteArray; functionIndexMap: Map; constructor(module: ast.Module, options?: Options); findIndexForFunctionType(type: ast.FunctionType): number; findIndexForFunctionName(name: string): number; visitConst(expr: ast.Const): void; visitUnreachable(expr: ast.Unreachable): void; visitNop(expr: ast.Nop): void; visitBlock(block: ast.Block): void; visitLoop(expr: ast.Loop): void; visitIf(expr: ast.If): void; visitBranch(expr: ast.Branch): void; visitBranchIf(expr: ast.BranchIf): void; visitBranchTable(expr: ast.BranchTable): void; visitReturn(expr: ast.Return): void; visitCall(call: ast.Call): void; visitCallIndirect(callIndirect: ast.CallIndirect): void; visitDrop(drop: ast.Drop): void; visitSelect(expr: ast.Select): void; visitGetLocal(expr: ast.GetLocal): void; visitSetLocal(expr: ast.SetLocal): void; visitTeeLocal(expr: ast.TeeLocal): void; visitGetGlobal(expr: ast.GetGlobal): void; visitSetGlobal(expr: ast.SetGlobal): void; visitLoad(expr: ast.Load): void; visitStore(expr: ast.Store): void; visitCurrentMemory(expr: ast.CurrentMemory): void; visitGrowMemory(expr: ast.GrowMemory): void; visitUnaryExpression(expr: ast.UnaryExpression): void; visitBinaryExpression(expr: ast.BinaryExpression): void; visitFunctionType(type: ast.FunctionType): void; visitImport(imp: ast.Import): void; visitExport(exp: ast.Export): void; visitGlobal(expr: ast.Global): void; visitFunction(expr: ast.Function): void; visitTable(table: ast.Table): void; visitMemory(expr: ast.Memory): void; visitModule(expr: ast.Module): void; prependWithSize(work: Function): void; writeResizableLimits(initial: number, maximum?: number): void; writeSection(section: SectionBuffer): void; writePreamble(): void; writeTypeSection(): void; writeImportSection(): void; writeFunctionSection(): void; writeTableSection(): void; writeMemorySection(): void; writeGlobalSection(): void; writeExportSection(): void; writeStartSection(): void; writeElementSection(): void; writeCodeSection(): void; writeDataSection(): void; writeNameSection(): void; writeModule(): ArrayBuffer; }