Type Alias OneOf<union, fallback, keys>

OneOf<union, fallback, keys>: union extends infer Item
    ? Prettify<Item & {
        [_K in Exclude<keys, keyof Item>]?: fallback extends object
            ? fallback[_K]
            : undefined
    }>
    : never

Type Parameters