Type Alias ValidValue<T, M>

ValidValue<T, M>: [T, M] extends ["number", true]
    ? number[]
    : [T, M] extends ["string", true]
        ? string[]
        : [T, M] extends ["boolean", true]
            ? boolean[]
            : [T, M] extends ["number", false]
                ? number
                : [T, M] extends ["string", false]
                    ? string
                    : [T, M] extends ["boolean", false]
                        ? boolean
                        : [T, M] extends ["string", boolean]
                            ? string | string[]
                            : [T, M] extends ["boolean", boolean]
                                ? boolean | boolean[]
                                : [T, M] extends ["number", boolean]
                                    ? number | (...)[]
                                    : [(...), (...)] extends [(...), (...)]
                                        ? ConfigValuePrimitive
                                        : (...) extends (...)
                                            ? (...)
                                            : (...)

Defines the type of value that is valid, given a config definition's ConfigType and boolean multiple setting

Type Parameters