import type { ObjectType } from './Types'; declare type FunctionType = (...args: any[]) => any; export declare function makeCallable(func: F, object: O): F & O; /** * Wrap an object in a proxy * * If a wrapper is supplied, each of its properties will be added to the proxy. * If a property is a function on the wrapper and target, the wrapper's function * will be invoked and then the target's will be. * If the proxy encounters a property that does not exist on the target or the * wrapper, it will throw an error. * * @param target The object what will be wrapped in a proxy * @param wrapper An optional object whose properties will be added to the proxy */ export declare function proxyWrap | undefined = T>(target: Record, wrapper?: W): [T, T & W]; export {};