export function invoke(value: any): any; export function reviver(type: string, value: Value): Value; export function obj(t: T, v: V): Obj; export function bound(value: V): Ctx; export function unbound(value: V): V extends Ctx ? ReturnType : V; export type Arr = [V]; export type Ctx = () => V; export type Obj = { t: T; v: V; }; export type TypeOf = V extends bigint ? "bigint" : V extends boolean ? "boolean" : V extends null ? "null" : V extends number ? "number" : V extends string ? "string" : V extends symbol ? "symbol" : V extends undefined ? "undefined" : V extends object ? "object" : never; export const isArray: (arg: any) => arg is any[];