import type { nullish } from '../nullish/index.js'; import type { _, OmitByValue_, RequiredKeys_, Value } from './/index.js'; import type { AlsoAccept } from '../type/AlsoAccept.js'; /** * 💀 You most likely want to use distributive `$Override_` - this one can be * super-slow in generic contexts * * @inline */ export type Override_ = _ & Omit>; /** * 💀 You most likely want to use distributive `$Override` - this one can be * super-slow in generic contexts * * @inline */ export type Override; }> = Override_; /** * ✅ Distributive version of `Override_` * * @inline */ export type $Override_ = Base extends any ? Overrides extends any ? Override_ : never : never; /** * ✅ Distributive version of `Override` * * @inline */ export type $Override; }> = $Override_; export type OverrideWithOptionals_ = _<{ [k in RequiredKeys_ | RequiredKeys_]: k extends RequiredKeys_ ? Overrides[k & keyof Overrides] : Base[k & keyof Base] | Value; } & { [k in Exclude | RequiredKeys_>]?: Value | Value; }>; export type OverrideWithOptionals; }> = OverrideWithOptionals_; export type $OverrideWithOptionals_ = Base extends any ? Overrides extends any ? OverrideWithOptionals_ : never : never; export type $OverrideWithOptionals; }> = $OverrideWithOptionals_; export declare function overrideStrict; }>(base: Base, overrides: Overrides): $OverrideWithOptionals; /** * @deprecated Use `overrideStrict` instead (or consider using * `overrideDefined`) */ export declare const override: typeof overrideStrict; export type OverrideWithNonStrictOptionals_ = OverrideWithOptionals_>; export type OverrideWithNonStrictOptionals; }> = OverrideWithNonStrictOptionals_; export type $OverrideWithNonStrictOptionals_ = Base extends any ? Overrides extends any ? OverrideWithNonStrictOptionals_ : never : never; export type $OverrideWithNonStrictOptionals; }> = $OverrideWithNonStrictOptionals_; export declare function overrideDefined; }>(base: Base, overrides: Overrides): $OverrideWithNonStrictOptionals; /** Nullable Overrides */ export declare function overrideDefined; } | nullish>(base: Base, overrides: Overrides): Overrides extends object ? $OverrideWithNonStrictOptionals : Base; //# sourceMappingURL=Override.d.ts.map