CommandHandlerOptions: ZodObject<
    extendShape<
        {
            automateCategories: ZodOptional<ZodBoolean>;
            classToHandle: ZodAny;
            directory: ZodString;
            extensions: ZodOptional<
                ZodUnion<[ZodArray<ZodString, "many">, ZodSet<ZodString>]>,
            >;
            loadFilter: ZodOptional<
                ZodFunction<ZodTuple<[ZodString], ZodUnknown>, ZodBoolean>,
            >;
        },
        {
            aliasReplacement: ZodOptional<ZodType<RegExp, ZodTypeDef, RegExp>>;
            allowMention: ZodOptional<
                ZodUnion<
                    [
                        ZodBoolean,
                        ZodFunction<
                            ZodTuple<
                                [ZodType<Message<(...)>, ZodTypeDef, Message<(...)>>],
                                ZodUnknown,
                            >,
                            ZodUnion<[ZodBoolean, ZodPromise<ZodBoolean>]>,
                        >,
                    ],
                >,
            >;
            argumentDefaults: ZodOptional<
                ZodObject<
                    extendShape<
                        {
                            modifyOtherwise: ZodOptional<
                                ZodFunction<
                                    ZodTuple<[(...), (...)], ZodUnknown>,
                                    ZodUnion<[(...), (...)]>,
                                >,
                            >;
                            otherwise: ZodOptional<
                                ZodUnion<[ZodUnion<(...)>, ZodFunction<(...), (...)>]>,
                            >;
                        },
                        {
                            prompt: ZodOptional<
                                ZodObject<
                                    {
                                        breakout: ZodOptional<(...)>;
                                        cancel: ZodOptional<(...)>;
                                        cancelWord: ZodOptional<(...)>;
                                        ended: ZodOptional<(...)>;
                                        infinite: ZodOptional<(...)>;
                                        limit: ZodOptional<(...)>;
                                        modifyCancel: ZodOptional<(...)>;
                                        modifyEnded: ZodOptional<(...)>;
                                        modifyRetry: ZodOptional<(...)>;
                                        modifyStart: ZodOptional<(...)>;
                                        modifyTimeout: ZodOptional<(...)>;
                                        optional: ZodOptional<(...)>;
                                        retries: ZodOptional<(...)>;
                                        retry: ZodOptional<(...)>;
                                        start: ZodOptional<(...)>;
                                        stopWord: ZodOptional<(...)>;
                                        time: ZodOptional<(...)>;
                                        timeout: ZodOptional<(...)>;
                                    },
                                    "strip",
                                    ZodTypeAny,
                                    {
                                        breakout?: (...)
                                        | (...)
                                        | (...);
                                        cancel?: (...) | (...) | (...) | (...) | (...);
                                        cancelWord?: (...) | (...);
                                        ended?: (...) | (...) | (...) | (...) | (...);
                                        infinite?: (...) | (...) | (...);
                                        limit?: (...) | (...);
                                        modifyCancel?: (...) | (...);
                                        modifyEnded?: (...) | (...);
                                        modifyRetry?: (...) | (...);
                                        modifyStart?: (...) | (...);
                                        modifyTimeout?: (...) | (...);
                                        optional?: (...) | (...) | (...);
                                        retries?: (...) | (...);
                                        retry?: (...) | (...) | (...) | (...) | (...);
                                        start?: (...) | (...) | (...) | (...) | (...);
                                        stopWord?: (...) | (...);
                                        time?: (...) | (...);
                                        timeout?: (...) | (...) | (...) | (...) | (...);
                                    },
                                    {
                                        breakout?: (...)
                                        | (...)
                                        | (...);
                                        cancel?: (...) | (...) | (...) | (...) | (...);
                                        cancelWord?: (...) | (...);
                                        ended?: (...) | (...) | (...) | (...) | (...);
                                        infinite?: (...) | (...) | (...);
                                        limit?: (...) | (...);
                                        modifyCancel?: (...) | (...);
                                        modifyEnded?: (...) | (...);
                                        modifyRetry?: (...) | (...);
                                        modifyStart?: (...) | (...);
                                        modifyTimeout?: (...) | (...);
                                        optional?: (...) | (...) | (...);
                                        retries?: (...) | (...);
                                        retry?: (...) | (...) | (...) | (...) | (...);
                                        start?: (...) | (...) | (...) | (...) | (...);
                                        stopWord?: (...) | (...);
                                        time?: (...) | (...);
                                        timeout?: (...) | (...) | (...) | (...) | (...);
                                    },
                                >,
                            >;
                        },
                    >,
                    "strip",
                    ZodTypeAny,
                    {
                        modifyOtherwise?: (
                            ...args: [
                                Message<boolean>,

                                    | string
                                    | Record<(...), (...)>
                                    | MessagePayload
                                    | (...args: ...) => ...,
                                ...unknown[],
                            ],
                        ) =>
                            | string
                            | Record<string, any>
                            | MessagePayload
                            | Promise<(...) | (...) | (...)>;
                        otherwise?:
                            | string
                            | Record<string, any>
                            | MessagePayload
                            | (
                                ...args: [
                                    Message<boolean>,
                                    { failure: (...) | (...); phrase: string },
                                    ...unknown[],
                                ],
                            ) =>
                                | string
                                | Record<string, any>
                                | MessagePayload
                                | Promise<(...) | (...) | (...)>;
                        prompt?: {
                            breakout?: boolean;
                            cancel?:
                                | string
                                | Record<string, any>
                                | MessagePayload
                                | (
                                    ...args: [(...), (...), ...(...)[]],
                                ) => (...) | (...) | (...) | (...);
                            cancelWord?: string;
                            ended?:
                                | string
                                | Record<string, any>
                                | MessagePayload
                                | (
                                    ...args: [(...), (...), ...(...)[]],
                                ) => (...) | (...) | (...) | (...);
                            infinite?: boolean;
                            limit?: number;
                            modifyCancel?: (
                                ...args: [(...), (...), ...(...)[]],
                            ) => (...) | (...) | (...) | (...);
                            modifyEnded?: (
                                ...args: [(...), (...), ...(...)[]],
                            ) => (...) | (...) | (...) | (...);
                            modifyRetry?: (
                                ...args: [(...), (...), ...(...)[]],
                            ) => (...) | (...) | (...) | (...);
                            modifyStart?: (
                                ...args: [(...), (...), ...(...)[]],
                            ) => (...) | (...) | (...) | (...);
                            modifyTimeout?: (
                                ...args: [(...), (...), ...(...)[]],
                            ) => (...) | (...) | (...) | (...);
                            optional?: boolean;
                            retries?: number;
                            retry?:
                                | string
                                | Record<string, any>
                                | MessagePayload
                                | (
                                    ...args: [(...), (...), ...(...)[]],
                                ) => (...) | (...) | (...) | (...);
                            start?:
                                | string
                                | Record<string, any>
                                | MessagePayload
                                | (
                                    ...args: [(...), (...), ...(...)[]],
                                ) => (...) | (...) | (...) | (...);
                            stopWord?: string;
                            time?: number;
                            timeout?:
                                | string
                                | Record<string, any>
                                | MessagePayload
                                | (
                                    ...args: [(...), (...), ...(...)[]],
                                ) => (...) | (...) | (...) | (...);
                        };
                    },
                    {
                        modifyOtherwise?: (
                            ...args: [
                                Message<boolean>,

                                    | string
                                    | Record<(...), (...)>
                                    | MessagePayload
                                    | (...args: ...) => ...,
                                ...unknown[],
                            ],
                        ) =>
                            | string
                            | Record<string, any>
                            | MessagePayload
                            | Promise<(...) | (...) | (...)>;
                        otherwise?:
                            | string
                            | Record<string, any>
                            | MessagePayload
                            | (
                                ...args: [
                                    Message<boolean>,
                                    { failure: (...) | (...); phrase: string },
                                    ...unknown[],
                                ],
                            ) =>
                                | string
                                | Record<string, any>
                                | MessagePayload
                                | Promise<(...) | (...) | (...)>;
                        prompt?: {
                            breakout?: boolean;
                            cancel?:
                                | string
                                | Record<string, any>
                                | MessagePayload
                                | (
                                    ...args: [(...), (...), ...(...)[]],
                                ) => (...) | (...) | (...) | (...);
                            cancelWord?: string;
                            ended?:
                                | string
                                | Record<string, any>
                                | MessagePayload
                                | (
                                    ...args: [(...), (...), ...(...)[]],
                                ) => (...) | (...) | (...) | (...);
                            infinite?: boolean;
                            limit?: number;
                            modifyCancel?: (
                                ...args: [(...), (...), ...(...)[]],
                            ) => (...) | (...) | (...) | (...);
                            modifyEnded?: (
                                ...args: [(...), (...), ...(...)[]],
                            ) => (...) | (...) | (...) | (...);
                            modifyRetry?: (
                                ...args: [(...), (...), ...(...)[]],
                            ) => (...) | (...) | (...) | (...);
                            modifyStart?: (
                                ...args: [(...), (...), ...(...)[]],
                            ) => (...) | (...) | (...) | (...);
                            modifyTimeout?: (
                                ...args: [(...), (...), ...(...)[]],
                            ) => (...) | (...) | (...) | (...);
                            optional?: boolean;
                            retries?: number;
                            retry?:
                                | string
                                | Record<string, any>
                                | MessagePayload
                                | (
                                    ...args: [(...), (...), ...(...)[]],
                                ) => (...) | (...) | (...) | (...);
                            start?:
                                | string
                                | Record<string, any>
                                | MessagePayload
                                | (
                                    ...args: [(...), (...), ...(...)[]],
                                ) => (...) | (...) | (...) | (...);
                            stopWord?: string;
                            time?: number;
                            timeout?:
                                | string
                                | Record<string, any>
                                | MessagePayload
                                | (
                                    ...args: [(...), (...), ...(...)[]],
                                ) => (...) | (...) | (...) | (...);
                        };
                    },
                >,
            >;
            autoDefer: ZodOptional<ZodBoolean>;
            autoRegisterSlashCommands: ZodOptional<ZodBoolean>;
            blockBots: ZodOptional<ZodBoolean>;
            blockClient: ZodOptional<ZodBoolean>;
            commandUtil: ZodOptional<ZodBoolean>;
            commandUtilLifetime: ZodOptional<ZodNumber>;
            commandUtilSweepInterval: ZodOptional<ZodNumber>;
            defaultCooldown: ZodOptional<ZodNumber>;
            execSlash: ZodOptional<ZodBoolean>;
            fetchMembers: ZodOptional<ZodBoolean>;
            handleEdits: ZodOptional<ZodBoolean>;
            ignoreCooldown: ZodOptional<
                ZodUnion<
                    [
                        ZodUnion<[ZodString, ZodArray<ZodString, "many">]>,
                        ZodFunction<
                            ZodTuple<
                                [ZodUnion<[(...), (...)]>, ZodType<Command, ZodTypeDef, Command>],
                                ZodUnknown,
                            >,
                            ZodBoolean,
                        >,
                    ],
                >,
            >;
            ignorePermissions: ZodOptional<
                ZodUnion<
                    [
                        ZodUnion<[ZodString, ZodArray<ZodString, "many">]>,
                        ZodFunction<
                            ZodTuple<
                                [ZodUnion<[(...), (...)]>, ZodType<Command, ZodTypeDef, Command>],
                                ZodUnknown,
                            >,
                            ZodBoolean,
                        >,
                    ],
                >,
            >;
            prefix: ZodOptional<
                ZodUnion<
                    [
                        ZodUnion<[ZodString, ZodArray<ZodString, "many">]>,
                        ZodFunction<
                            ZodTuple<
                                [ZodType<Message<(...)>, ZodTypeDef, Message<(...)>>],
                                ZodUnknown,
                            >,
                            ZodUnion<[ZodUnion<[(...), (...)]>, ZodPromise<ZodUnion<(...)>>]>,
                        >,
                    ],
                >,
            >;
            skipBuiltInPostInhibitors: ZodOptional<ZodBoolean>;
            storeMessages: ZodOptional<ZodBoolean>;
            typing: ZodOptional<ZodBoolean>;
        },
    >,
    "passthrough",
    ZodTypeAny,
    objectOutputType<
        extendShape<
            {
                automateCategories: ZodOptional<ZodBoolean>;
                classToHandle: ZodAny;
                directory: ZodString;
                extensions: ZodOptional<
                    ZodUnion<[ZodArray<ZodString, "many">, ZodSet<ZodString>]>,
                >;
                loadFilter: ZodOptional<
                    ZodFunction<ZodTuple<[ZodString], ZodUnknown>, ZodBoolean>,
                >;
            },
            {
                aliasReplacement: ZodOptional<ZodType<RegExp, ZodTypeDef, RegExp>>;
                allowMention: ZodOptional<
                    ZodUnion<
                        [
                            ZodBoolean,
                            ZodFunction<
                                ZodTuple<[ZodType<(...), (...), (...)>], ZodUnknown>,
                                ZodUnion<[ZodBoolean, ZodPromise<(...)>]>,
                            >,
                        ],
                    >,
                >;
                argumentDefaults: ZodOptional<
                    ZodObject<
                        extendShape<
                            {
                                modifyOtherwise: ZodOptional<
                                    ZodFunction<ZodTuple<(...), (...)>, ZodUnion<(...)>>,
                                >;
                                otherwise: ZodOptional<ZodUnion<[(...), (...)]>>;
                            },
                            {
                                prompt: ZodOptional<
                                    ZodObject<
                                        {
                                            breakout: ...;
                                            cancel: ...;
                                            cancelWord: ...;
                                            ended: ...;
                                            infinite: ...;
                                            limit: ...;
                                            modifyCancel: ...;
                                            modifyEnded: ...;
                                            modifyRetry: ...;
                                            modifyStart: ...;
                                            modifyTimeout: ...;
                                            optional: ...;
                                            retries: ...;
                                            retry: ...;
                                            start: ...;
                                            stopWord: ...;
                                            time: ...;
                                            timeout: ...;
                                        },
                                        "strip",
                                        ZodTypeAny,
                                        {
                                            breakout?: ...;
                                            cancel?: ...;
                                            cancelWord?: ...;
                                            ended?: ...;
                                            infinite?: ...;
                                            limit?: ...;
                                            modifyCancel?: ...;
                                            modifyEnded?: ...;
                                            modifyRetry?: ...;
                                            modifyStart?: ...;
                                            modifyTimeout?: ...;
                                            optional?: ...;
                                            retries?: ...;
                                            retry?: ...;
                                            start?: ...;
                                            stopWord?: ...;
                                            time?: ...;
                                            timeout?: ...;
                                        },
                                        {
                                            breakout?: ...;
                                            cancel?: ...;
                                            cancelWord?: ...;
                                            ended?: ...;
                                            infinite?: ...;
                                            limit?: ...;
                                            modifyCancel?: ...;
                                            modifyEnded?: ...;
                                            modifyRetry?: ...;
                                            modifyStart?: ...;
                                            modifyTimeout?: ...;
                                            optional?: ...;
                                            retries?: ...;
                                            retry?: ...;
                                            start?: ...;
                                            stopWord?: ...;
                                            time?: ...;
                                            timeout?: ...;
                                        },
                                    >,
                                >;
                            },
                        >,
                        "strip",
                        ZodTypeAny,
                        {
                            modifyOtherwise?: (
                                ...args: [
                                    Message<(...)>,
                                    (...) | (...) | (...) | (...),
                                    ...unknown[],
                                ],
                            ) => string | Record<(...), (...)> | MessagePayload | Promise<(...)>;
                            otherwise?:
                                | string
                                | Record<string, any>
                                | MessagePayload
                                | (
                                    ...args: [
                                        Message<(...)>,
                                        { failure: ...; phrase: ... },
                                        ...unknown[],
                                    ],
                                ) => string | Record<(...), (...)> | MessagePayload | Promise<(...)>;
                            prompt?: {
                                breakout?: boolean;
                                cancel?:
                                    | string
                                    | Record<(...), (...)>
                                    | MessagePayload
                                    | (...args: ...) => ...;
                                cancelWord?: string;
                                ended?:
                                    | string
                                    | Record<(...), (...)>
                                    | MessagePayload
                                    | (...args: ...) => ...;
                                infinite?: boolean;
                                limit?: number;
                                modifyCancel?: (...args: ...) => ...;
                                modifyEnded?: (...args: ...) => ...;
                                modifyRetry?: (...args: ...) => ...;
                                modifyStart?: (...args: ...) => ...;
                                modifyTimeout?: (...args: ...) => ...;
                                optional?: boolean;
                                retries?: number;
                                retry?:
                                    | string
                                    | Record<(...), (...)>
                                    | MessagePayload
                                    | (...args: ...) => ...;
                                start?:
                                    | string
                                    | Record<(...), (...)>
                                    | MessagePayload
                                    | (...args: ...) => ...;
                                stopWord?: string;
                                time?: number;
                                timeout?:
                                    | string
                                    | Record<(...), (...)>
                                    | MessagePayload
                                    | (...args: ...) => ...;
                            };
                        },
                        {
                            modifyOtherwise?: (
                                ...args: [
                                    Message<(...)>,
                                    (...) | (...) | (...) | (...),
                                    ...unknown[],
                                ],
                            ) => string | Record<(...), (...)> | MessagePayload | Promise<(...)>;
                            otherwise?:
                                | string
                                | Record<string, any>
                                | MessagePayload
                                | (
                                    ...args: [
                                        Message<(...)>,
                                        { failure: ...; phrase: ... },
                                        ...unknown[],
                                    ],
                                ) => string | Record<(...), (...)> | MessagePayload | Promise<(...)>;
                            prompt?: {
                                breakout?: boolean;
                                cancel?:
                                    | string
                                    | Record<(...), (...)>
                                    | MessagePayload
                                    | (...args: ...) => ...;
                                cancelWord?: string;
                                ended?:
                                    | string
                                    | Record<(...), (...)>
                                    | MessagePayload
                                    | (...args: ...) => ...;
                                infinite?: boolean;
                                limit?: number;
                                modifyCancel?: (...args: ...) => ...;
                                modifyEnded?: (...args: ...) => ...;
                                modifyRetry?: (...args: ...) => ...;
                                modifyStart?: (...args: ...) => ...;
                                modifyTimeout?: (...args: ...) => ...;
                                optional?: boolean;
                                retries?: number;
                                retry?:
                                    | string
                                    | Record<(...), (...)>
                                    | MessagePayload
                                    | (...args: ...) => ...;
                                start?:
                                    | string
                                    | Record<(...), (...)>
                                    | MessagePayload
                                    | (...args: ...) => ...;
                                stopWord?: string;
                                time?: number;
                                timeout?:
                                    | string
                                    | Record<(...), (...)>
                                    | MessagePayload
                                    | (...args: ...) => ...;
                            };
                        },
                    >,
                >;
                autoDefer: ZodOptional<ZodBoolean>;
                autoRegisterSlashCommands: ZodOptional<ZodBoolean>;
                blockBots: ZodOptional<ZodBoolean>;
                blockClient: ZodOptional<ZodBoolean>;
                commandUtil: ZodOptional<ZodBoolean>;
                commandUtilLifetime: ZodOptional<ZodNumber>;
                commandUtilSweepInterval: ZodOptional<ZodNumber>;
                defaultCooldown: ZodOptional<ZodNumber>;
                execSlash: ZodOptional<ZodBoolean>;
                fetchMembers: ZodOptional<ZodBoolean>;
                handleEdits: ZodOptional<ZodBoolean>;
                ignoreCooldown: ZodOptional<
                    ZodUnion<
                        [
                            ZodUnion<[ZodString, ZodArray<ZodString, "many">]>,
                            ZodFunction<
                                ZodTuple<
                                    [ZodUnion<(...)>, ZodType<(...), (...), (...)>],
                                    ZodUnknown,
                                >,
                                ZodBoolean,
                            >,
                        ],
                    >,
                >;
                ignorePermissions: ZodOptional<
                    ZodUnion<
                        [
                            ZodUnion<[ZodString, ZodArray<ZodString, "many">]>,
                            ZodFunction<
                                ZodTuple<
                                    [ZodUnion<(...)>, ZodType<(...), (...), (...)>],
                                    ZodUnknown,
                                >,
                                ZodBoolean,
                            >,
                        ],
                    >,
                >;
                prefix: ZodOptional<
                    ZodUnion<
                        [
                            ZodUnion<[ZodString, ZodArray<ZodString, "many">]>,
                            ZodFunction<
                                ZodTuple<[ZodType<(...), (...), (...)>], ZodUnknown>,
                                ZodUnion<[ZodUnion<(...)>, ZodPromise<(...)>]>,
                            >,
                        ],
                    >,
                >;
                skipBuiltInPostInhibitors: ZodOptional<ZodBoolean>;
                storeMessages: ZodOptional<ZodBoolean>;
                typing: ZodOptional<ZodBoolean>;
            },
        >,
        ZodTypeAny,
        "passthrough",
    >,
    objectInputType<
        extendShape<
            {
                automateCategories: ZodOptional<ZodBoolean>;
                classToHandle: ZodAny;
                directory: ZodString;
                extensions: ZodOptional<
                    ZodUnion<[ZodArray<ZodString, "many">, ZodSet<ZodString>]>,
                >;
                loadFilter: ZodOptional<
                    ZodFunction<ZodTuple<[ZodString], ZodUnknown>, ZodBoolean>,
                >;
            },
            {
                aliasReplacement: ZodOptional<ZodType<RegExp, ZodTypeDef, RegExp>>;
                allowMention: ZodOptional<
                    ZodUnion<
                        [
                            ZodBoolean,
                            ZodFunction<
                                ZodTuple<[ZodType<(...), (...), (...)>], ZodUnknown>,
                                ZodUnion<[ZodBoolean, ZodPromise<(...)>]>,
                            >,
                        ],
                    >,
                >;
                argumentDefaults: ZodOptional<
                    ZodObject<
                        extendShape<
                            {
                                modifyOtherwise: ZodOptional<
                                    ZodFunction<ZodTuple<(...), (...)>, ZodUnion<(...)>>,
                                >;
                                otherwise: ZodOptional<ZodUnion<[(...), (...)]>>;
                            },
                            {
                                prompt: ZodOptional<
                                    ZodObject<
                                        {
                                            breakout: ...;
                                            cancel: ...;
                                            cancelWord: ...;
                                            ended: ...;
                                            infinite: ...;
                                            limit: ...;
                                            modifyCancel: ...;
                                            modifyEnded: ...;
                                            modifyRetry: ...;
                                            modifyStart: ...;
                                            modifyTimeout: ...;
                                            optional: ...;
                                            retries: ...;
                                            retry: ...;
                                            start: ...;
                                            stopWord: ...;
                                            time: ...;
                                            timeout: ...;
                                        },
                                        "strip",
                                        ZodTypeAny,
                                        {
                                            breakout?: ...;
                                            cancel?: ...;
                                            cancelWord?: ...;
                                            ended?: ...;
                                            infinite?: ...;
                                            limit?: ...;
                                            modifyCancel?: ...;
                                            modifyEnded?: ...;
                                            modifyRetry?: ...;
                                            modifyStart?: ...;
                                            modifyTimeout?: ...;
                                            optional?: ...;
                                            retries?: ...;
                                            retry?: ...;
                                            start?: ...;
                                            stopWord?: ...;
                                            time?: ...;
                                            timeout?: ...;
                                        },
                                        {
                                            breakout?: ...;
                                            cancel?: ...;
                                            cancelWord?: ...;
                                            ended?: ...;
                                            infinite?: ...;
                                            limit?: ...;
                                            modifyCancel?: ...;
                                            modifyEnded?: ...;
                                            modifyRetry?: ...;
                                            modifyStart?: ...;
                                            modifyTimeout?: ...;
                                            optional?: ...;
                                            retries?: ...;
                                            retry?: ...;
                                            start?: ...;
                                            stopWord?: ...;
                                            time?: ...;
                                            timeout?: ...;
                                        },
                                    >,
                                >;
                            },
                        >,
                        "strip",
                        ZodTypeAny,
                        {
                            modifyOtherwise?: (
                                ...args: [
                                    Message<(...)>,
                                    (...) | (...) | (...) | (...),
                                    ...unknown[],
                                ],
                            ) => string | Record<(...), (...)> | MessagePayload | Promise<(...)>;
                            otherwise?:
                                | string
                                | Record<string, any>
                                | MessagePayload
                                | (
                                    ...args: [
                                        Message<(...)>,
                                        { failure: ...; phrase: ... },
                                        ...unknown[],
                                    ],
                                ) => string | Record<(...), (...)> | MessagePayload | Promise<(...)>;
                            prompt?: {
                                breakout?: boolean;
                                cancel?:
                                    | string
                                    | Record<(...), (...)>
                                    | MessagePayload
                                    | (...args: ...) => ...;
                                cancelWord?: string;
                                ended?:
                                    | string
                                    | Record<(...), (...)>
                                    | MessagePayload
                                    | (...args: ...) => ...;
                                infinite?: boolean;
                                limit?: number;
                                modifyCancel?: (...args: ...) => ...;
                                modifyEnded?: (...args: ...) => ...;
                                modifyRetry?: (...args: ...) => ...;
                                modifyStart?: (...args: ...) => ...;
                                modifyTimeout?: (...args: ...) => ...;
                                optional?: boolean;
                                retries?: number;
                                retry?:
                                    | string
                                    | Record<(...), (...)>
                                    | MessagePayload
                                    | (...args: ...) => ...;
                                start?:
                                    | string
                                    | Record<(...), (...)>
                                    | MessagePayload
                                    | (...args: ...) => ...;
                                stopWord?: string;
                                time?: number;
                                timeout?:
                                    | string
                                    | Record<(...), (...)>
                                    | MessagePayload
                                    | (...args: ...) => ...;
                            };
                        },
                        {
                            modifyOtherwise?: (
                                ...args: [
                                    Message<(...)>,
                                    (...) | (...) | (...) | (...),
                                    ...unknown[],
                                ],
                            ) => string | Record<(...), (...)> | MessagePayload | Promise<(...)>;
                            otherwise?:
                                | string
                                | Record<string, any>
                                | MessagePayload
                                | (
                                    ...args: [
                                        Message<(...)>,
                                        { failure: ...; phrase: ... },
                                        ...unknown[],
                                    ],
                                ) => string | Record<(...), (...)> | MessagePayload | Promise<(...)>;
                            prompt?: {
                                breakout?: boolean;
                                cancel?:
                                    | string
                                    | Record<(...), (...)>
                                    | MessagePayload
                                    | (...args: ...) => ...;
                                cancelWord?: string;
                                ended?:
                                    | string
                                    | Record<(...), (...)>
                                    | MessagePayload
                                    | (...args: ...) => ...;
                                infinite?: boolean;
                                limit?: number;
                                modifyCancel?: (...args: ...) => ...;
                                modifyEnded?: (...args: ...) => ...;
                                modifyRetry?: (...args: ...) => ...;
                                modifyStart?: (...args: ...) => ...;
                                modifyTimeout?: (...args: ...) => ...;
                                optional?: boolean;
                                retries?: number;
                                retry?:
                                    | string
                                    | Record<(...), (...)>
                                    | MessagePayload
                                    | (...args: ...) => ...;
                                start?:
                                    | string
                                    | Record<(...), (...)>
                                    | MessagePayload
                                    | (...args: ...) => ...;
                                stopWord?: string;
                                time?: number;
                                timeout?:
                                    | string
                                    | Record<(...), (...)>
                                    | MessagePayload
                                    | (...args: ...) => ...;
                            };
                        },
                    >,
                >;
                autoDefer: ZodOptional<ZodBoolean>;
                autoRegisterSlashCommands: ZodOptional<ZodBoolean>;
                blockBots: ZodOptional<ZodBoolean>;
                blockClient: ZodOptional<ZodBoolean>;
                commandUtil: ZodOptional<ZodBoolean>;
                commandUtilLifetime: ZodOptional<ZodNumber>;
                commandUtilSweepInterval: ZodOptional<ZodNumber>;
                defaultCooldown: ZodOptional<ZodNumber>;
                execSlash: ZodOptional<ZodBoolean>;
                fetchMembers: ZodOptional<ZodBoolean>;
                handleEdits: ZodOptional<ZodBoolean>;
                ignoreCooldown: ZodOptional<
                    ZodUnion<
                        [
                            ZodUnion<[ZodString, ZodArray<ZodString, "many">]>,
                            ZodFunction<
                                ZodTuple<
                                    [ZodUnion<(...)>, ZodType<(...), (...), (...)>],
                                    ZodUnknown,
                                >,
                                ZodBoolean,
                            >,
                        ],
                    >,
                >;
                ignorePermissions: ZodOptional<
                    ZodUnion<
                        [
                            ZodUnion<[ZodString, ZodArray<ZodString, "many">]>,
                            ZodFunction<
                                ZodTuple<
                                    [ZodUnion<(...)>, ZodType<(...), (...), (...)>],
                                    ZodUnknown,
                                >,
                                ZodBoolean,
                            >,
                        ],
                    >,
                >;
                prefix: ZodOptional<
                    ZodUnion<
                        [
                            ZodUnion<[ZodString, ZodArray<ZodString, "many">]>,
                            ZodFunction<
                                ZodTuple<[ZodType<(...), (...), (...)>], ZodUnknown>,
                                ZodUnion<[ZodUnion<(...)>, ZodPromise<(...)>]>,
                            >,
                        ],
                    >,
                >;
                skipBuiltInPostInhibitors: ZodOptional<ZodBoolean>;
                storeMessages: ZodOptional<ZodBoolean>;
                typing: ZodOptional<ZodBoolean>;
            },
        >,
        ZodTypeAny,
        "passthrough",
    >,
>