BARGS
    Preparing search index...

    Type Alias InferOption<T>

    InferOption: T extends BooleanOption
        ? T["required"] extends true
            ? boolean
            : T["default"] extends boolean ? boolean : boolean | undefined
        : T extends NumberOption
            ? T["required"] extends true
                ? number
                : T["default"] extends number ? number : number | undefined
            : T extends StringOption
                ? T["required"] extends true
                    ? string
                    : T["default"] extends string ? string : string | undefined
                : T extends EnumOption<infer E>
                    ? T["required"] extends true
                        ? E
                        : T["default"] extends E ? E : E | undefined
                    : T extends EnumArrayOption<infer E>
                        ? E[]
                        : T extends ArrayOption
                            ? T["items"] extends "number" ? number[] : string[]
                            : T extends CountOption ? number : never

    Infer the TypeScript type from an option definition.

    Type Parameters