import type { HasIndexSignature, NonStrictPartial, Omit_ } from '../object/index.js'; import type { CloneOptions } from './deepClone.js'; export interface WithCloneFunction { clone(options?: NonStrictPartial | undefined): this; } /** * Check if `x` has `.clone()` method * * - ⚠️ Make sure the `.clone()` function returns correct `this` value */ export declare function isWithCloneFunction(x: unknown): x is WithCloneFunction; export declare function clone>(x: X, options?: Options | undefined): X extends (...args: any) => any ? X : HasIndexSignature extends true ? X : Options extends { omit: Iterable; } ? Omit_ : X; //# sourceMappingURL=clone.d.ts.map