/** * @module accessors */ /** * Options to modify the behaviour of the clone function */ export interface CloneOptions { /** Flag to specify that functions should be copied by reference rather than converted to empty objects */ copyFunctions?: boolean; } /** * * Creates a deep clone of a value * * @typeparam T The type of the original value * @param original The value to clone * @param options Config options * @return Returns the deep cloned value * */ export default function clone(original: T, options?: CloneOptions): T;