import type { $Keyof, CanBeUndefined, IsOptional } from '../../index.js'; import type { exactOptionalPropertyTypes } from '../../../tsc-options/index.js'; import type { AlsoAccept } from '../../../type/index.js'; /** Distributes over `$obj` and `$key` */ export type Value<$obj, $key extends $Keyof<$obj> | AlsoAccept = $Keyof<$obj>> = $obj extends any ? $key extends $Keyof<$obj> ? IsOptional<$obj, $key> extends true ? exactOptionalPropertyTypes extends false ? Exclude<$obj[$key], undefined> : CanBeUndefined<$obj, $key> extends true ? $obj[$key] : Exclude<$obj[$key], undefined> : $obj[$key] : never : never; //# sourceMappingURL=Value.d.ts.map