@tanzanite/discord-akairo
    Preparing search index...

    Variable DefaultArgumentOptions

    DefaultArgumentOptions: ZodObject<
        {
            modifyOtherwise: ZodOptional<
                ZodFunction<
                    ZodTuple<
                        [
                            ZodType<Message<boolean>, ZodTypeDef, Message<boolean>>,
                            ZodUnion<
                                [
                                    ZodUnion<[(...), (...), (...)]>,
                                    ZodFunction<ZodTuple<(...), (...)>, ZodUnion<(...)>>,
                                ],
                            >,
                        ],
                        ZodUnknown,
                    >,
                    ZodUnion<
                        [
                            ZodUnion<
                                [
                                    ZodString,
                                    ZodType<MessagePayload, ZodTypeDef, MessagePayload>,
                                    ZodRecord<ZodString, ZodAny>,
                                ],
                            >,
                            ZodPromise<
                                ZodUnion<
                                    [
                                        ZodString,
                                        ZodType<(...), (...), (...)>,
                                        ZodRecord<(...), (...)>,
                                    ],
                                >,
                            >,
                        ],
                    >,
                >,
            >;
            otherwise: ZodOptional<
                ZodUnion<
                    [
                        ZodUnion<
                            [
                                ZodString,
                                ZodType<MessagePayload, ZodTypeDef, MessagePayload>,
                                ZodRecord<ZodString, ZodAny>,
                            ],
                        >,
                        ZodFunction<
                            ZodTuple<
                                [
                                    ZodType<Message<(...)>, ZodTypeDef, Message<(...)>>,
                                    ZodObject<
                                        { failure: ...; phrase: ... },
                                        "strip",
                                        ZodTypeAny,
                                        { failure: ...; phrase: ... },
                                        { failure: ...; phrase: ... },
                                    >,
                                ],
                                ZodUnknown,
                            >,
                            ZodUnion<
                                [ZodUnion<[(...), (...), (...)]>, ZodPromise<ZodUnion<(...)>>],
                            >,
                        >,
                    ],
                >,
            >;
        } & {
            prompt: ZodOptional<
                ZodObject<
                    {
                        breakout: ZodOptional<ZodBoolean>;
                        cancel: ZodOptional<
                            ZodUnion<
                                [
                                    ZodUnion<[(...), (...), (...)]>,
                                    ZodFunction<ZodTuple<(...), (...)>, ZodUnion<(...)>>,
                                ],
                            >,
                        >;
                        cancelWord: ZodOptional<ZodString>;
                        ended: ZodOptional<
                            ZodUnion<
                                [
                                    ZodUnion<[(...), (...), (...)]>,
                                    ZodFunction<ZodTuple<(...), (...)>, ZodUnion<(...)>>,
                                ],
                            >,
                        >;
                        infinite: ZodOptional<ZodBoolean>;
                        limit: ZodOptional<ZodNumber>;
                        modifyCancel: ZodOptional<
                            ZodFunction<
                                ZodTuple<
                                    [ZodType<(...), (...), (...)>, ZodUnion<(...)>],
                                    ZodUnknown,
                                >,
                                ZodUnion<[ZodUnion<(...)>, ZodPromise<(...)>]>,
                            >,
                        >;
                        modifyEnded: ZodOptional<
                            ZodFunction<
                                ZodTuple<
                                    [ZodType<(...), (...), (...)>, ZodUnion<(...)>],
                                    ZodUnknown,
                                >,
                                ZodUnion<[ZodUnion<(...)>, ZodPromise<(...)>]>,
                            >,
                        >;
                        modifyRetry: ZodOptional<
                            ZodFunction<
                                ZodTuple<
                                    [ZodType<(...), (...), (...)>, ZodUnion<(...)>],
                                    ZodUnknown,
                                >,
                                ZodUnion<[ZodUnion<(...)>, ZodPromise<(...)>]>,
                            >,
                        >;
                        modifyStart: ZodOptional<
                            ZodFunction<
                                ZodTuple<
                                    [ZodType<(...), (...), (...)>, ZodUnion<(...)>],
                                    ZodUnknown,
                                >,
                                ZodUnion<[ZodUnion<(...)>, ZodPromise<(...)>]>,
                            >,
                        >;
                        modifyTimeout: ZodOptional<
                            ZodFunction<
                                ZodTuple<
                                    [ZodType<(...), (...), (...)>, ZodUnion<(...)>],
                                    ZodUnknown,
                                >,
                                ZodUnion<[ZodUnion<(...)>, ZodPromise<(...)>]>,
                            >,
                        >;
                        optional: ZodOptional<ZodBoolean>;
                        retries: ZodOptional<ZodNumber>;
                        retry: ZodOptional<
                            ZodUnion<
                                [
                                    ZodUnion<[(...), (...), (...)]>,
                                    ZodFunction<ZodTuple<(...), (...)>, ZodUnion<(...)>>,
                                ],
                            >,
                        >;
                        start: ZodOptional<
                            ZodUnion<
                                [
                                    ZodUnion<[(...), (...), (...)]>,
                                    ZodFunction<ZodTuple<(...), (...)>, ZodUnion<(...)>>,
                                ],
                            >,
                        >;
                        stopWord: ZodOptional<ZodString>;
                        time: ZodOptional<ZodNumber>;
                        timeout: ZodOptional<
                            ZodUnion<
                                [
                                    ZodUnion<[(...), (...), (...)]>,
                                    ZodFunction<ZodTuple<(...), (...)>, ZodUnion<(...)>>,
                                ],
                            >,
                        >;
                    },
                    "strip",
                    ZodTypeAny,
                    {
                        breakout?: boolean;
                        cancel?: | string
                        | Record<string, any>
                        | MessagePayload
                        | (
                            (
                                ...args: [
                                    Message<boolean>,
                                    {
                                        failure: (...) | (...);
                                        infinite: boolean;
                                        message: Message<(...)>;
                                        phrase: string;
                                        retries: number;
                                    },
                                    ...unknown[],
                                ],
                            ) => | string
                            | Record<string, any>
                            | MessagePayload
                            | Promise<(...) | (...) | (...)>
                        );
                        cancelWord?: string;
                        ended?:
                            | string
                            | Record<string, any>
                            | MessagePayload
                            | (
                                (
                                    ...args: [
                                        Message<boolean>,
                                        {
                                            failure: (...) | (...);
                                            infinite: boolean;
                                            message: Message<(...)>;
                                            phrase: string;
                                            retries: number;
                                        },
                                        ...unknown[],
                                    ],
                                ) => | string
                                | Record<string, any>
                                | MessagePayload
                                | Promise<(...) | (...) | (...)>
                            );
                        infinite?: boolean;
                        limit?: number;
                        modifyCancel?: (
                            ...args: [
                                Message<boolean>,

                                    | string
                                    | Record<(...), (...)>
                                    | MessagePayload
                                    | ((...args: ...) => ...),
                                ...unknown[],
                            ],
                        ) =>
                            | string
                            | Record<string, any>
                            | MessagePayload
                            | Promise<(...) | (...) | (...)>;
                        modifyEnded?: (
                            ...args: [
                                Message<boolean>,

                                    | string
                                    | Record<(...), (...)>
                                    | MessagePayload
                                    | ((...args: ...) => ...),
                                ...unknown[],
                            ],
                        ) =>
                            | string
                            | Record<string, any>
                            | MessagePayload
                            | Promise<(...) | (...) | (...)>;
                        modifyRetry?: (
                            ...args: [
                                Message<boolean>,

                                    | string
                                    | Record<(...), (...)>
                                    | MessagePayload
                                    | ((...args: ...) => ...),
                                ...unknown[],
                            ],
                        ) =>
                            | string
                            | Record<string, any>
                            | MessagePayload
                            | Promise<(...) | (...) | (...)>;
                        modifyStart?: (
                            ...args: [
                                Message<boolean>,

                                    | string
                                    | Record<(...), (...)>
                                    | MessagePayload
                                    | ((...args: ...) => ...),
                                ...unknown[],
                            ],
                        ) =>
                            | string
                            | Record<string, any>
                            | MessagePayload
                            | Promise<(...) | (...) | (...)>;
                        modifyTimeout?: (
                            ...args: [
                                Message<boolean>,

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

                                    | string
                                    | Record<(...), (...)>
                                    | MessagePayload
                                    | ((...args: ...) => ...),
                                ...unknown[],
                            ],
                        ) =>
                            | string
                            | Record<string, any>
                            | MessagePayload
                            | Promise<(...) | (...) | (...)>;
                        modifyEnded?: (
                            ...args: [
                                Message<boolean>,

                                    | string
                                    | Record<(...), (...)>
                                    | MessagePayload
                                    | ((...args: ...) => ...),
                                ...unknown[],
                            ],
                        ) =>
                            | string
                            | Record<string, any>
                            | MessagePayload
                            | Promise<(...) | (...) | (...)>;
                        modifyRetry?: (
                            ...args: [
                                Message<boolean>,

                                    | string
                                    | Record<(...), (...)>
                                    | MessagePayload
                                    | ((...args: ...) => ...),
                                ...unknown[],
                            ],
                        ) =>
                            | string
                            | Record<string, any>
                            | MessagePayload
                            | Promise<(...) | (...) | (...)>;
                        modifyStart?: (
                            ...args: [
                                Message<boolean>,

                                    | string
                                    | Record<(...), (...)>
                                    | MessagePayload
                                    | ((...args: ...) => ...),
                                ...unknown[],
                            ],
                        ) =>
                            | string
                            | Record<string, any>
                            | MessagePayload
                            | Promise<(...) | (...) | (...)>;
                        modifyTimeout?: (
                            ...args: [
                                Message<boolean>,

                                    | string
                                    | Record<(...), (...)>
                                    | MessagePayload
                                    | ((...args: ...) => ...),
                                ...unknown[],
                            ],
                        ) =>
                            | string
                            | Record<string, any>
                            | MessagePayload
                            | Promise<(...) | (...) | (...)>;
                        optional?: boolean;
                        retries?: number;
                        retry?:
                            | string
                            | Record<string, any>
                            | MessagePayload
                            | (
                                (
                                    ...args: [
                                        Message<boolean>,
                                        {
                                            failure: (...) | (...);
                                            infinite: boolean;
                                            message: Message<(...)>;
                                            phrase: string;
                                            retries: number;
                                        },
                                        ...unknown[],
                                    ],
                                ) => | string
                                | Record<string, any>
                                | MessagePayload
                                | Promise<(...) | (...) | (...)>
                            );
                        start?:
                            | string
                            | Record<string, any>
                            | MessagePayload
                            | (
                                (
                                    ...args: [
                                        Message<boolean>,
                                        {
                                            failure: (...) | (...);
                                            infinite: boolean;
                                            message: Message<(...)>;
                                            phrase: string;
                                            retries: number;
                                        },
                                        ...unknown[],
                                    ],
                                ) => | string
                                | Record<string, any>
                                | MessagePayload
                                | Promise<(...) | (...) | (...)>
                            );
                        stopWord?: string;
                        time?: number;
                        timeout?:
                            | string
                            | Record<string, any>
                            | MessagePayload
                            | (
                                (
                                    ...args: [
                                        Message<boolean>,
                                        {
                                            failure: (...) | (...);
                                            infinite: boolean;
                                            message: Message<(...)>;
                                            phrase: string;
                                            retries: number;
                                        },
                                        ...unknown[],
                                    ],
                                ) => | string
                                | Record<string, any>
                                | MessagePayload
                                | Promise<(...) | (...) | (...)>
                            );
                    },
                >,
            >;
        },
        "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>
                );
            prompt?: {
                breakout?: boolean;
                cancel?:
                    | string
                    | Record<string, any>
                    | MessagePayload
                    | (
                        (
                            ...args: [
                                Message<boolean>,
                                {
                                    failure: null | Flag<Fail>;
                                    infinite: boolean;
                                    message: Message<boolean>;
                                    phrase: string;
                                    retries: number;
                                },
                                ...unknown[],
                            ],
                        ) => | string
                        | Record<string, any>
                        | MessagePayload
                        | Promise<string | Record<string, any> | MessagePayload>
                    );
                cancelWord?: string;
                ended?:
                    | string
                    | Record<string, any>
                    | MessagePayload
                    | (
                        (
                            ...args: [
                                Message<boolean>,
                                {
                                    failure: null | Flag<Fail>;
                                    infinite: boolean;
                                    message: Message<boolean>;
                                    phrase: string;
                                    retries: number;
                                },
                                ...unknown[],
                            ],
                        ) => | string
                        | Record<string, any>
                        | MessagePayload
                        | Promise<string | Record<string, any> | MessagePayload>
                    );
                infinite?: boolean;
                limit?: number;
                modifyCancel?: (
                    ...args: [
                        Message<boolean>,

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

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

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

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

                            | string
                            | Record<string, any>
                            | MessagePayload
                            | (
                                (
                                    ...args: [
                                        Message<(...)>,
                                        { failure: ...; phrase: ... },
                                        ...unknown[],
                                    ],
                                ) => string | Record<(...), (...)> | MessagePayload | Promise<(...)>
                            ),
                        ...unknown[],
                    ],
                ) =>
                    | string
                    | Record<string, any>
                    | MessagePayload
                    | Promise<string | Record<string, any> | MessagePayload>;
                optional?: boolean;
                retries?: number;
                retry?:
                    | string
                    | Record<string, any>
                    | MessagePayload
                    | (
                        (
                            ...args: [
                                Message<boolean>,
                                {
                                    failure: null | Flag<Fail>;
                                    infinite: boolean;
                                    message: Message<boolean>;
                                    phrase: string;
                                    retries: number;
                                },
                                ...unknown[],
                            ],
                        ) => | string
                        | Record<string, any>
                        | MessagePayload
                        | Promise<string | Record<string, any> | MessagePayload>
                    );
                start?:
                    | string
                    | Record<string, any>
                    | MessagePayload
                    | (
                        (
                            ...args: [
                                Message<boolean>,
                                {
                                    failure: null | Flag<Fail>;
                                    infinite: boolean;
                                    message: Message<boolean>;
                                    phrase: string;
                                    retries: number;
                                },
                                ...unknown[],
                            ],
                        ) => | string
                        | Record<string, any>
                        | MessagePayload
                        | Promise<string | Record<string, any> | MessagePayload>
                    );
                stopWord?: string;
                time?: number;
                timeout?:
                    | string
                    | Record<string, any>
                    | MessagePayload
                    | (
                        (
                            ...args: [
                                Message<boolean>,
                                {
                                    failure: null | Flag<Fail>;
                                    infinite: boolean;
                                    message: Message<boolean>;
                                    phrase: string;
                                    retries: number;
                                },
                                ...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>
                );
            prompt?: {
                breakout?: boolean;
                cancel?:
                    | string
                    | Record<string, any>
                    | MessagePayload
                    | (
                        (
                            ...args: [
                                Message<boolean>,
                                {
                                    failure: null | Flag<Fail>;
                                    infinite: boolean;
                                    message: Message<boolean>;
                                    phrase: string;
                                    retries: number;
                                },
                                ...unknown[],
                            ],
                        ) => | string
                        | Record<string, any>
                        | MessagePayload
                        | Promise<string | Record<string, any> | MessagePayload>
                    );
                cancelWord?: string;
                ended?:
                    | string
                    | Record<string, any>
                    | MessagePayload
                    | (
                        (
                            ...args: [
                                Message<boolean>,
                                {
                                    failure: null | Flag<Fail>;
                                    infinite: boolean;
                                    message: Message<boolean>;
                                    phrase: string;
                                    retries: number;
                                },
                                ...unknown[],
                            ],
                        ) => | string
                        | Record<string, any>
                        | MessagePayload
                        | Promise<string | Record<string, any> | MessagePayload>
                    );
                infinite?: boolean;
                limit?: number;
                modifyCancel?: (
                    ...args: [
                        Message<boolean>,

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

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

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

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

                            | string
                            | Record<string, any>
                            | MessagePayload
                            | (
                                (
                                    ...args: [
                                        Message<(...)>,
                                        { failure: ...; phrase: ... },
                                        ...unknown[],
                                    ],
                                ) => string | Record<(...), (...)> | MessagePayload | Promise<(...)>
                            ),
                        ...unknown[],
                    ],
                ) =>
                    | string
                    | Record<string, any>
                    | MessagePayload
                    | Promise<string | Record<string, any> | MessagePayload>;
                optional?: boolean;
                retries?: number;
                retry?:
                    | string
                    | Record<string, any>
                    | MessagePayload
                    | (
                        (
                            ...args: [
                                Message<boolean>,
                                {
                                    failure: null | Flag<Fail>;
                                    infinite: boolean;
                                    message: Message<boolean>;
                                    phrase: string;
                                    retries: number;
                                },
                                ...unknown[],
                            ],
                        ) => | string
                        | Record<string, any>
                        | MessagePayload
                        | Promise<string | Record<string, any> | MessagePayload>
                    );
                start?:
                    | string
                    | Record<string, any>
                    | MessagePayload
                    | (
                        (
                            ...args: [
                                Message<boolean>,
                                {
                                    failure: null | Flag<Fail>;
                                    infinite: boolean;
                                    message: Message<boolean>;
                                    phrase: string;
                                    retries: number;
                                },
                                ...unknown[],
                            ],
                        ) => | string
                        | Record<string, any>
                        | MessagePayload
                        | Promise<string | Record<string, any> | MessagePayload>
                    );
                stopWord?: string;
                time?: number;
                timeout?:
                    | string
                    | Record<string, any>
                    | MessagePayload
                    | (
                        (
                            ...args: [
                                Message<boolean>,
                                {
                                    failure: null | Flag<Fail>;
                                    infinite: boolean;
                                    message: Message<boolean>;
                                    phrase: string;
                                    retries: number;
                                },
                                ...unknown[],
                            ],
                        ) => | string
                        | Record<string, any>
                        | MessagePayload
                        | Promise<string | Record<string, any> | MessagePayload>
                    );
            };
        },
    >