/**
 * A collection of types that can be cloned
 */
export declare const cloneableTypes: Set<Function>;
/**
 * Deep clone a value
 * @param val - The value to clone
 * @param refs - Map of references to handle circular references (internal use)
 * @returns A deep clone of the value
 */
export declare function cloneDeep<V>(val: Readonly<V>, refs?: WeakMap<object, any>): V;
