type ProxyApplyCallback = (path: (string | symbol)[], args: unknown[]) => unknown;
/**
 * @internal
 * If returns `undefined | null`, the proxy will continue to create a new proxy for the next key.
 */
type ProxyGetCallback = (path: (string | symbol)[], key: string | symbol) => unknown | undefined;
/**
 * Creates a recursive proxy that calls the `getCallback` and `applyCallback` functions
 * @param getCallback The callback to call when a proxy property is accessed
 * @param applyCallback The callback to call when a proxy is called as a function
 * @param path The current path of the proxy
 */
export declare function createRecursiveProxy(getCallback: ProxyGetCallback, applyCallback: ProxyApplyCallback, path: (string | symbol)[]): unknown;
export {};
//# sourceMappingURL=createRecursiveProxy.d.ts.map