export default watr;
/**
 * Compile and instantiate WAT, returning exports.
 *
 * @param {string|TemplateStringsArray} source - WAT source or template strings
 * @param {...any} values - Interpolation values (for template literal)
 * @returns {WebAssembly.Exports} Module exports
 *
 * @example
 * const { add } = watr`(func (export "add") (param i32 i32) (result i32)
 *   (i32.add (local.get 0) (local.get 1))
 * )`
 */
export function watr(source: string | TemplateStringsArray, ...values: any[]): WebAssembly.Exports;
/**
 * Compile WAT to binary. Supports both string and template literal.
 *
 * @param {string|TemplateStringsArray} source - WAT source or template strings
 * @param {...any} values - Interpolation values (for template literal).
 *   Last value can be an options object: { polyfill, optimize }.
 * @returns {Uint8Array} WebAssembly binary
 *
 * @example
 * compile('(func (export "f") (result i32) (i32.const 42))')
 * compile`(func (export "f") (result f64) (f64.const ${Math.PI}))`
 * compile(src, { polyfill: true, optimize: true })
 */
export function compile(source: string | TemplateStringsArray, ...values: any[]): Uint8Array;
import parse from './src/parse.js';
import print from './src/print.js';
import _polyfill from './src/polyfill.js';
import _optimize from './src/optimize.js';
export { parse, print, _polyfill as polyfill, _optimize as optimize };
//# sourceMappingURL=watr.d.ts.map