use wasm_bindgen::prelude::*;
#[wasm_bindgen(module = "comlink")]
extern "C" {
pub fn expose(obj: &JsValue);
#[wasm_bindgen(js_name = expose)]
pub fn expose_with_endpoint(obj: &JsValue, endpoint: &JsValue);
#[wasm_bindgen(js_name = expose)]
pub fn expose_with_endpoint_and_allowed_origins(
obj: &JsValue,
endpoint: &JsValue,
allowed_origins: &js_sys::Array,
);
pub fn wrap(endpoint: &JsValue) -> JsValue;
#[wasm_bindgen(js_name = wrap)]
pub fn wrap_with_target(endpoint: &JsValue, target: &JsValue) -> JsValue;
pub fn transfer(value: &JsValue, transfers: &js_sys::Array) -> JsValue;
pub fn proxy(obj: &JsValue) -> JsValue;
#[wasm_bindgen(js_name = windowEndpoint)]
pub fn window_endpoint(window: &JsValue) -> JsValue;
#[wasm_bindgen(js_name = windowEndpoint)]
pub fn window_endpoint_with_context(window: &JsValue, context: &JsValue) -> JsValue;
#[wasm_bindgen(js_name = windowEndpoint)]
pub fn window_endpoint_with_context_and_target_origin(
window: &JsValue,
context: &JsValue,
target_origin: &str,
) -> JsValue;
#[wasm_bindgen(thread_local_v2, js_name = proxyMarker)]
pub static PROXY_MARKER: js_sys::Symbol;
#[wasm_bindgen(thread_local_v2, js_name = createEndpoint)]
pub static CREATE_ENDPOINT: js_sys::Symbol;
#[wasm_bindgen(thread_local_v2, js_name = releaseProxy)]
pub static RELEASE_PROXY: js_sys::Symbol;
#[wasm_bindgen(thread_local_v2, js_name = finalizer)]
pub static FINALIZER: js_sys::Symbol;
#[wasm_bindgen(thread_local_v2, js_name = transferHandlers)]
pub static TRANSFER_HANDLERS: js_sys::Map;
}