AntiInviteRule: ZodObject<
    {
        actions: ZodDefault<
            ZodArray<
                ZodUnion<
                    [
                        ZodObject<
                            {
                                delete_timeframe: ZodOptional<ZodNumber>;
                                duration: ZodOptional<ZodNumber>;
                                notify: ZodOptional<ZodBoolean>;
                                reason: ZodOptional<ZodString>;
                                type: ZodLiteral<"ban">;
                            },
                            "strip",
                            ZodTypeAny,
                            {
                                delete_timeframe?: number;
                                duration?: number;
                                notify?: boolean;
                                reason?: string;
                                type: "ban";
                            },
                            {
                                delete_timeframe?: number;
                                duration?: number;
                                notify?: boolean;
                                reason?: string;
                                type: "ban";
                            },
                        >,
                        ZodObject<
                            {
                                notify: ZodOptional<ZodBoolean>;
                                reason: ZodOptional<ZodString>;
                                type: ZodLiteral<"kick">;
                            },
                            "strip",
                            ZodTypeAny,
                            { notify?: boolean; reason?: string; type: "kick" },
                            { notify?: boolean; reason?: string; type: "kick" },
                        >,
                        ZodObject<
                            {
                                duration: ZodOptional<ZodNumber>;
                                notify: ZodOptional<ZodBoolean>;
                                reason: ZodOptional<ZodString>;
                                type: ZodLiteral<"mute">;
                            },
                            "strip",
                            ZodTypeAny,
                            {
                                duration?: number;
                                notify?: boolean;
                                reason?: string;
                                type: "mute";
                            },
                            {
                                duration?: number;
                                notify?: boolean;
                                reason?: string;
                                type: "mute";
                            },
                        >,
                    ],
                >,
                "many",
            >,
        >;
        allow_internal_invites: ZodDefault<ZodBoolean>;
        allowed_invite_codes: ZodDefault<ZodArray<ZodString, "many">>;
        bail: ZodDefault<ZodBoolean>;
        bypasses: ZodDefault<ZodNullable<ZodArray<ZodString, "many">>>;
        enabled: ZodDefault<ZodBoolean>;
        exceptions: ZodOptional<
            ZodObject<
                {
                    channels: ZodOptional<
                        ZodArray<ZodType<string, ZodTypeDef, string>, "many">,
                    >;
                    roles: ZodOptional<
                        ZodArray<ZodType<string, ZodTypeDef, string>, "many">,
                    >;
                    users: ZodOptional<
                        ZodArray<ZodType<string, ZodTypeDef, string>, "many">,
                    >;
                },
                "strip",
                ZodTypeAny,
                { channels?: string[]; roles?: string[]; users?: string[] },
                { channels?: string[]; roles?: string[]; users?: string[] },
            >,
        >;
        for: ZodOptional<
            ZodObject<
                {
                    channels: ZodOptional<
                        ZodArray<ZodType<string, ZodTypeDef, string>, "many">,
                    >;
                    roles: ZodOptional<
                        ZodArray<ZodType<string, ZodTypeDef, string>, "many">,
                    >;
                    users: ZodOptional<
                        ZodArray<ZodType<string, ZodTypeDef, string>, "many">,
                    >;
                },
                "strip",
                ZodTypeAny,
                { channels?: string[]; roles?: string[]; users?: string[] },
                { channels?: string[]; roles?: string[]; users?: string[] },
            >,
        >;
        is_bypasser: ZodDefault<ZodBoolean>;
        mode: ZodDefault<ZodEnum<["normal", "invert"]>>;
        name: ZodDefault<ZodNullable<ZodString>>;
        type: ZodLiteral<"anti_invite">;
    },
    "strip",
    ZodTypeAny,
    {
        actions: (
            | {
                delete_timeframe?: number;
                duration?: number;
                notify?: boolean;
                reason?: string;
                type: "ban";
            }
            | { notify?: boolean; reason?: string; type: "kick" }
            | { duration?: number; notify?: boolean; reason?: string; type: "mute" }
            | {
                duration?: number;
                mode: "give" | "take";
                notify?: boolean;
                reason?: string;
                roles: string[];
                type: "role";
            }
            | { type: "none" }
            | { notify?: boolean; reason?: string; type: "warn" }
            | { notify: true; reason?: string; type: "verbal_warn" }
            | { count: number; notify?: boolean; reason?: string; type: "clear" }
            | { type: "delete_message" }
        )[];
        allow_internal_invites: boolean;
        allowed_invite_codes: string[];
        bail: boolean;
        bypasses: null | string[];
        enabled: boolean;
        exceptions?: { channels?: string[]; roles?: string[]; users?: string[] };
        for?: { channels?: string[]; roles?: string[]; users?: string[] };
        is_bypasser: boolean;
        mode: "normal" | "invert";
        name: null | string;
        type: "anti_invite";
    },
    {
        actions?: (
            | {
                delete_timeframe?: number;
                duration?: number;
                notify?: boolean;
                reason?: string;
                type: "ban";
            }
            | { notify?: boolean; reason?: string; type: "kick" }
            | { duration?: number; notify?: boolean; reason?: string; type: "mute" }
            | {
                duration?: number;
                mode: "give" | "take";
                notify?: boolean;
                reason?: string;
                roles: string[];
                type: "role";
            }
            | { type: "none" }
            | { notify?: boolean; reason?: string; type: "warn" }
            | { notify?: true; reason?: string; type: "verbal_warn" }
            | { count?: number; notify?: boolean; reason?: string; type: "clear" }
            | { type: "delete_message" }
        )[];
        allow_internal_invites?: boolean;
        allowed_invite_codes?: string[];
        bail?: boolean;
        bypasses?: null | string[];
        enabled?: boolean;
        exceptions?: { channels?: string[]; roles?: string[]; users?: string[] };
        for?: { channels?: string[]; roles?: string[]; users?: string[] };
        is_bypasser?: boolean;
        mode?: "normal" | "invert";
        name?: null | string;
        type: "anti_invite";
    },
> = ...
MMNEPVFCICPMFPCPTTAAATR