export function target(type: T, value: V): T extends "function" ? Ctx : T extends "array" ? Arr : Obj; export function unwrap(wrap: W, revive?: ((type: string, value: Value) => Value) | undefined): ValueOf; export function wrap(value: V, resolve?: Function | undefined): V extends Function ? Ctx : V extends any[] ? Arr : Obj, V>; export type Arr = import("./utils.js").Arr; export type Ctx = import("./utils.js").Ctx; export type Obj = import("./utils.js").Obj; export type TypeOf = import("./utils.js").TypeOf; export type ValueOf = W extends Ctx ? ReturnType : W extends Arr ? W[0] : W extends Obj ? W["v"] : never; import { FUNCTION } from './types.js'; import { ARRAY } from './types.js'; export { bound, unbound } from "./utils.js";