ArgumentOptions: ZodObject<
    {
        default: ZodAny;
        description: ZodAny;
        flag: ZodOptional<
            ZodNullable<ZodUnion<[ZodString, ZodArray<ZodString, "many">]>>,
        >;
        id: ZodOptional<ZodNullable<ZodString>>;
        index: ZodOptional<ZodNullable<ZodNumber>>;
        limit: ZodOptional<ZodNumber>;
        match: ZodOptional<ZodNativeEnum<typeof ArgumentMatch>>;
        modifyOtherwise: ZodOptional<
            ZodOptional<
                ZodNullable<
                    ZodFunction<
                        ZodTuple<
                            [
                                ZodType<Message<boolean>, ZodTypeDef, Message<boolean>>,
                                ZodUnion<[ZodUnion<(...)>, ZodFunction<(...), (...)>]>,
                            ],
                            ZodUnknown,
                        >,
                        ZodUnion<
                            [
                                ZodUnion<
                                    [
                                        ZodString,
                                        ZodType<(...), (...), (...)>,
                                        ZodRecord<(...), (...)>,
                                    ],
                                >,
                                ZodPromise<ZodUnion<[(...), (...), (...)]>>,
                            ],
                        >,
                    >,
                >,
            >,
        >;
        multipleFlags: ZodOptional<ZodBoolean>;
        otherwise: ZodOptional<
            ZodNullable<
                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<
            ZodNullable<
                ZodUnion<
                    [
                        ZodObject<
                            {
                                breakout: ZodOptional<ZodBoolean>;
                                cancel: ZodOptional<ZodUnion<[(...), (...)]>>;
                                cancelWord: ZodOptional<ZodString>;
                                ended: ZodOptional<ZodUnion<[(...), (...)]>>;
                                infinite: ZodOptional<ZodBoolean>;
                                limit: ZodOptional<ZodNumber>;
                                modifyCancel: ZodOptional<
                                    ZodFunction<ZodTuple<(...), (...)>, ZodUnion<(...)>>,
                                >;
                                modifyEnded: ZodOptional<
                                    ZodFunction<ZodTuple<(...), (...)>, ZodUnion<(...)>>,
                                >;
                                modifyRetry: ZodOptional<
                                    ZodFunction<ZodTuple<(...), (...)>, ZodUnion<(...)>>,
                                >;
                                modifyStart: ZodOptional<
                                    ZodFunction<ZodTuple<(...), (...)>, ZodUnion<(...)>>,
                                >;
                                modifyTimeout: ZodOptional<
                                    ZodFunction<ZodTuple<(...), (...)>, ZodUnion<(...)>>,
                                >;
                                optional: ZodOptional<ZodBoolean>;
                                retries: ZodOptional<ZodNumber>;
                                retry: ZodOptional<ZodUnion<[(...), (...)]>>;
                                start: ZodOptional<ZodUnion<[(...), (...)]>>;
                                stopWord: ZodOptional<ZodString>;
                                time: ZodOptional<ZodNumber>;
                                timeout: ZodOptional<ZodUnion<[(...), (...)]>>;
                            },
                            "strip",
                            ZodTypeAny,
                            {
                                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: [(...), (...), ...(...)[]],
                                    ) => (...) | (...) | (...) | (...);
                            },
                            {
                                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: [(...), (...), ...(...)[]],
                                    ) => (...) | (...) | (...) | (...);
                            },
                        >,
                        ZodBoolean,
                    ],
                >,
            >,
        >;
        type: ZodOptional<
            ZodUnion<
                [
                    ZodUnion<
                        [
                            ZodString,
                            ZodArray<ZodUnion<[ZodString, ZodArray<(...), (...)>]>, "many">,
                            ZodType<RegExp, ZodTypeDef, RegExp>,
                        ],
                    >,
                    ZodFunction<
                        ZodTuple<
                            [
                                ZodType<Message<boolean>, ZodTypeDef, Message<boolean>>,
                                ZodString,
                            ],
                            ZodUnknown,
                        >,
                        ZodAny,
                    >,
                ],
            >,
        >;
        unordered: ZodOptional<
            ZodUnion<[ZodBoolean, ZodNumber, ZodArray<ZodNumber, "many">]>,
        >;
    },
    "strip",
    ZodTypeAny,
    {
        default?: any;
        description?: any;
        flag?: null
        | string
        | string[];
        id?: null | string;
        index?: null | number;
        limit?: number;
        match?:
            | PHRASE
            | FLAG
            | OPTION
            | REST
            | SEPARATE
            | TEXT
            | CONTENT
            | REST_CONTENT
            | NONE;
        modifyOtherwise?: | null
        | (
            ...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>;
        multipleFlags?: boolean;
        otherwise?:
            | null
            | 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?:
            | null
            | boolean
            | {
                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>;
            };
        type?: | string
        | RegExp
        | (string | string[])[]
        | (...args: [Message<boolean>, string, ...unknown[]]) => any;
        unordered?: number | boolean | number[];
    },
    {
        default?: any;
        description?: any;
        flag?: null
        | string
        | string[];
        id?: null | string;
        index?: null | number;
        limit?: number;
        match?:
            | PHRASE
            | FLAG
            | OPTION
            | REST
            | SEPARATE
            | TEXT
            | CONTENT
            | REST_CONTENT
            | NONE;
        modifyOtherwise?: | null
        | (
            ...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>;
        multipleFlags?: boolean;
        otherwise?:
            | null
            | 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?:
            | null
            | boolean
            | {
                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>;
            };
        type?: | string
        | RegExp
        | (string | string[])[]
        | (...args: [Message<boolean>, string, ...unknown[]]) => any;
        unordered?: number | boolean | number[];
    },
>
MMNEPVFCICPMFPCPTTAAATR