export type ExpandKeyof = { [k in keyof Obj]: Obj[k] extends never ? never : k; }[keyof Obj]; /** Distributive */ export type $ExpandKeyof = Obj extends any ? ExpandKeyof : never; /** * Distributive `keyof` * * @example * * ```ts * type Obj = { a: 1 } | { a: 1; b: 2 } * type Result = Keyof // "a" | "b" ✅ * ``` */ export type $Keyof = X extends any ? keyof X : never; //# sourceMappingURL=Keyof.d.ts.map