BaseArgumentOptions: ZodObject<
    {
        modifyOtherwise: ZodOptional<
            ZodFunction<
                ZodTuple<
                    [
                        ZodType<Message<boolean>, ZodTypeDef, Message<boolean>>,
                        ZodUnion<
                            [
                                ZodUnion<
                                    [
                                        ZodString,
                                        ZodType<(...), (...), (...)>,
                                        ZodRecord<(...), (...)>,
                                    ],
                                >,
                                ZodFunction<
                                    ZodTuple<[(...), (...)], ZodUnknown>,
                                    ZodUnion<[(...), (...)]>,
                                >,
                            ],
                        >,
                    ],
                    ZodUnknown,
                >,
                ZodUnion<
                    [
                        ZodUnion<
                            [
                                ZodString,
                                ZodType<MessagePayload, ZodTypeDef, MessagePayload>,
                                ZodRecord<ZodString, ZodAny>,
                            ],
                        >,
                        ZodPromise<
                            ZodUnion<
                                [
                                    ZodString,
                                    ZodType<MessagePayload, ZodTypeDef, MessagePayload>,
                                    ZodRecord<ZodString, ZodAny>,
                                ],
                            >,
                        >,
                    ],
                >,
            >,
        >;
        otherwise: ZodOptional<
            ZodUnion<
                [
                    ZodUnion<
                        [
                            ZodString,
                            ZodType<MessagePayload, ZodTypeDef, MessagePayload>,
                            ZodRecord<ZodString, ZodAny>,
                        ],
                    >,
                    ZodFunction<
                        ZodTuple<
                            [
                                ZodType<Message<boolean>, ZodTypeDef, Message<boolean>>,
                                ZodObject<
                                    { failure: ZodNullable<(...)>; phrase: ZodString },
                                    "strip",
                                    ZodTypeAny,
                                    { failure: (...) | (...); phrase: string },
                                    { failure: (...) | (...); phrase: string },
                                >,
                            ],
                            ZodUnknown,
                        >,
                        ZodUnion<
                            [
                                ZodUnion<
                                    [
                                        ZodString,
                                        ZodType<(...), (...), (...)>,
                                        ZodRecord<(...), (...)>,
                                    ],
                                >,
                                ZodPromise<ZodUnion<[(...), (...), (...)]>>,
                            ],
                        >,
                    >,
                ],
            >,
        >;
    },
    "strip",
    ZodTypeAny,
    {
        modifyOtherwise?: (
            ...args: [
                Message<boolean>,

                    | string
                    | Record<string, any>
                    | MessagePayload
                    | (
                        ...args: [
                            Message<boolean>,
                            { failure: null | Flag<(...)>; phrase: string },
                            ...unknown[],
                        ],
                    ) =>
                        | string
                        | Record<string, any>
                        | MessagePayload
                        | Promise<string | Record<(...), (...)> | MessagePayload>,
                ...unknown[],
            ],
        ) =>
            | string
            | Record<string, any>
            | MessagePayload
            | Promise<string | Record<string, any> | MessagePayload>;
        otherwise?:
            | string
            | Record<string, any>
            | MessagePayload
            | (
                ...args: [
                    Message<boolean>,
                    { failure: null | Flag<Fail>; phrase: string },
                    ...unknown[],
                ],
            ) =>
                | string
                | Record<string, any>
                | MessagePayload
                | Promise<string | Record<string, any> | MessagePayload>;
    },
    {
        modifyOtherwise?: (
            ...args: [
                Message<boolean>,

                    | string
                    | Record<string, any>
                    | MessagePayload
                    | (
                        ...args: [
                            Message<boolean>,
                            { failure: null | Flag<(...)>; phrase: string },
                            ...unknown[],
                        ],
                    ) =>
                        | string
                        | Record<string, any>
                        | MessagePayload
                        | Promise<string | Record<(...), (...)> | MessagePayload>,
                ...unknown[],
            ],
        ) =>
            | string
            | Record<string, any>
            | MessagePayload
            | Promise<string | Record<string, any> | MessagePayload>;
        otherwise?:
            | string
            | Record<string, any>
            | MessagePayload
            | (
                ...args: [
                    Message<boolean>,
                    { failure: null | Flag<Fail>; phrase: string },
                    ...unknown[],
                ],
            ) =>
                | string
                | Record<string, any>
                | MessagePayload
                | Promise<string | Record<string, any> | MessagePayload>;
    },
>