Type Alias OptionConfig<T, TAlias>

OptionConfig: T extends T
    ? {
        alias?: MaybeReadonly<TAlias[]>;
        choices?: string[];
        conflicts?: MaybeReadonly<string[]>;
        customType?: OptionCustomType<T>;
        description?: string;
        required?: boolean;
        requires?: MaybeReadonly<string[]>;
        string?: boolean;
        type: OptionBaseType<T>;
    } & (
        | { default?: OptionPrimitiveType<T>
        | string; nargs?: undefined }
        | {
            default?:
                | (
                    OptionPrimitiveType<T> extends (infer T)[]
                        ? T[]
                        : OptionPrimitiveType<T>[]
                )
                | string;
            nargs: number;
        }
    )
    : never

The configuration interface for an option used to define how an option will be parsed and validated.

Type Parameters