export function target(type: T, value: V): 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 ? V : V extends any[] ? Arr : Obj, V>; export type Arr = import("./utils.js").Arr; export type Obj = import("./utils.js").Obj; export type TypeOf = import("./utils.js").TypeOf; export type ValueOf = W extends Function ? W : W extends Arr ? W[0] : W extends Obj ? W["v"] : never; import { ARRAY } from './types.js'; export { bound, unbound } from "./utils.js";