type files = list<tuple<string, string>>

variant wasmtime-async {
  all,
  none,
  only(list<string>),
}

enum lang {
  js,
  rust,
  wasmtime,
  wasmtime-py,
  c,
  markdown,
  spidermonkey,
}


resource config {
  static new: func() -> config

  render: func(lang: lang, wit: string, import: bool) -> expected<files, string>

  set-rust-unchecked: func(unchecked: bool)
  set-wasmtime-tracing: func(unchecked: bool)
  set-wasmtime-async: func(val: wasmtime-async)
  set-wasmtime-custom-error: func(custom: bool)
}
