import type { Cache } from './utils'; export type InternalCopier = (value: Value, state: State) => Value; export interface State { Constructor: any; cache: Cache; copier: InternalCopier; prototype: any; } /** * Deeply copy the indexed values in the array. */ export declare function copyArrayLoose(array: any[], state: State): any; /** * Deeply copy the indexed values in the array, as well as any custom properties. */ export declare function copyArrayStrict(array: Value, state: State): Value; /** * Copy the contents of the ArrayBuffer. */ export declare function copyArrayBuffer(arrayBuffer: Value, _state: State): Value; /** * Create a new Blob with the contents of the original. */ export declare function copyBlob(blob: Value, _state: State): Value; /** * Create a new DataView with the contents of the original. */ export declare function copyDataView(dataView: Value, state: State): Value; /** * Create a new Date based on the time of the original. */ export declare function copyDate(date: Value, state: State): Value; /** * Deeply copy the keys and values of the original. */ export declare function copyMapLoose>(map: Value, state: State): Value; /** * Deeply copy the keys and values of the original, as well as any custom properties. */ export declare function copyMapStrict>(map: Value, state: State): Value; declare function copyObjectLooseModern>(object: Value, state: State): Value; /** * Deeply copy the properties (keys and symbols) and values of the original. */ export declare const copyObjectLoose: typeof copyObjectLooseModern; /** * Deeply copy the properties (keys and symbols) and values of the original, as well * as any hidden or non-enumerable properties. */ export declare function copyObjectStrict>(object: Value, state: State): Value; /** * Create a new primitive wrapper from the value of the original. */ export declare function copyPrimitiveWrapper(primitiveObject: Value, state: State): Value; /** * Create a new RegExp based on the value and flags of the original. */ export declare function copyRegExp(regExp: Value, state: State): Value; /** * Return the original value (an identity function). * * @note * THis is used for objects that cannot be copied, such as WeakMap. */ export declare function copySelf(value: Value, _state: State): Value; /** * Deeply copy the values of the original. */ export declare function copySetLoose>(set: Value, state: State): Value; /** * Deeply copy the values of the original, as well as any custom properties. */ export declare function copySetStrict>(set: Value, state: State): Value; export {};