import type { Callable, Newable } from '../function/index.js'; import type { DeepMutableN } from '../object/index.js'; import type { Primitive } from '../primitive/index.js'; import type { Override } from '../object/Override.js'; import type { AlsoAccept } from './AlsoAccept.js'; import type { DecrementArgument } from './number/index.js'; import { UNSET } from '../_/symbols/unset.js'; export interface DefineTypeOptions { /** * `Depth` argument passed to `DeepMutableN` * * - Type-only * * @defaultValue 10 */ MakeMutableDepth: DecrementArgument; /** * Skip nested sub-types of `Skip` * * - Passed to `DeepMutableN` * - Type-only */ Skip: UNSET | AlsoAccept; } export interface DefaultDefineTypeOptions extends DefineTypeOptions { MakeMutableDepth: 10; Skip: Primitive | Callable | Newable; } /** A nice little helper that does what `satisfies` keyword will do */ export declare function define = {}>(): { value: (value: Inferred) => DeepMutableN['MakeMutableDepth'], Inferred, { skip: Override['Skip']; }>; }; //# sourceMappingURL=define.d.ts.map