MessageRuleSchema: ZodUnion<[ZodObject<{
    actions: ZodDefault<ZodArray<ZodUnion<[ZodObject<{
        delete_timeframe: ZodOptional<(...)>;
        duration: ZodOptional<(...)>;
        notify: ZodOptional<(...)>;
        reason: ZodOptional<(...)>;
        type: ZodLiteral<(...)>;
    }, "strip", ZodTypeAny, {
        delete_timeframe?: (...) | (...);
        duration?: (...) | (...);
        notify?: (...) | (...) | (...);
        reason?: (...) | (...);
        type: "ban";
    }, {
        delete_timeframe?: (...) | (...);
        duration?: (...) | (...);
        notify?: (...) | (...) | (...);
        reason?: (...) | (...);
        type: "ban";
    }>, ZodObject<{
        notify: ZodOptional<(...)>;
        reason: ZodOptional<(...)>;
        type: ZodLiteral<(...)>;
    }, "strip", ZodTypeAny, {
        notify?: (...) | (...) | (...);
        reason?: (...) | (...);
        type: "kick";
    }, {
        notify?: (...) | (...) | (...);
        reason?: (...) | (...);
        type: "kick";
    }>, ZodObject<{
        duration: ZodOptional<(...)>;
        notify: ZodOptional<(...)>;
        reason: ZodOptional<(...)>;
        type: ZodLiteral<(...)>;
    }, "strip", ZodTypeAny, {
        duration?: (...) | (...);
        notify?: (...) | (...) | (...);
        reason?: (...) | (...);
        type: "mute";
    }, {
        duration?: (...) | (...);
        notify?: (...) | (...) | (...);
        reason?: (...) | (...);
        type: "mute";
    }>]>, "many">>;
    bail: ZodDefault<ZodBoolean>;
    bypasses: ZodDefault<ZodNullable<ZodArray<ZodString, "many">>>;
    domains: ZodDefault<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>>;
    scan_links_only: ZodDefault<ZodBoolean>;
    type: ZodLiteral<"domain_filter">;
}, "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";
        })[];
    bail: boolean;
    bypasses: null | string[];
    domains: 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;
    scan_links_only: boolean;
    type: "domain_filter";
}, {
    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";
        })[];
    bail?: boolean;
    bypasses?: null | string[];
    domains?: 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;
    scan_links_only?: boolean;
    type: "domain_filter";
}>, ZodObject<{
    actions: ZodDefault<ZodArray<ZodUnion<[ZodObject<{
        delete_timeframe: ZodOptional<(...)>;
        duration: ZodOptional<(...)>;
        notify: ZodOptional<(...)>;
        reason: ZodOptional<(...)>;
        type: ZodLiteral<(...)>;
    }, "strip", ZodTypeAny, {
        delete_timeframe?: (...) | (...);
        duration?: (...) | (...);
        notify?: (...) | (...) | (...);
        reason?: (...) | (...);
        type: "ban";
    }, {
        delete_timeframe?: (...) | (...);
        duration?: (...) | (...);
        notify?: (...) | (...) | (...);
        reason?: (...) | (...);
        type: "ban";
    }>, ZodObject<{
        notify: ZodOptional<(...)>;
        reason: ZodOptional<(...)>;
        type: ZodLiteral<(...)>;
    }, "strip", ZodTypeAny, {
        notify?: (...) | (...) | (...);
        reason?: (...) | (...);
        type: "kick";
    }, {
        notify?: (...) | (...) | (...);
        reason?: (...) | (...);
        type: "kick";
    }>, ZodObject<{
        duration: ZodOptional<(...)>;
        notify: ZodOptional<(...)>;
        reason: ZodOptional<(...)>;
        type: ZodLiteral<(...)>;
    }, "strip", ZodTypeAny, {
        duration?: (...) | (...);
        notify?: (...) | (...) | (...);
        reason?: (...) | (...);
        type: "mute";
    }, {
        duration?: (...) | (...);
        notify?: (...) | (...) | (...);
        reason?: (...) | (...);
        type: "mute";
    }>]>, "many">>;
    bail: ZodDefault<ZodBoolean>;
    bypasses: ZodDefault<ZodNullable<ZodArray<ZodString, "many">>>;
    data: ZodDefault<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<"mime_type_filter">;
}, "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";
        })[];
    bail: boolean;
    bypasses: null | string[];
    data: 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: "mime_type_filter";
}, {
    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";
        })[];
    bail?: boolean;
    bypasses?: null | string[];
    data?: 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: "mime_type_filter";
}>, ZodObject<{
    actions: ZodDefault<ZodArray<ZodUnion<[ZodObject<{
        delete_timeframe: ZodOptional<(...)>;
        duration: ZodOptional<(...)>;
        notify: ZodOptional<(...)>;
        reason: ZodOptional<(...)>;
        type: ZodLiteral<(...)>;
    }, "strip", ZodTypeAny, {
        delete_timeframe?: (...) | (...);
        duration?: (...) | (...);
        notify?: (...) | (...) | (...);
        reason?: (...) | (...);
        type: "ban";
    }, {
        delete_timeframe?: (...) | (...);
        duration?: (...) | (...);
        notify?: (...) | (...) | (...);
        reason?: (...) | (...);
        type: "ban";
    }>, ZodObject<{
        notify: ZodOptional<(...)>;
        reason: ZodOptional<(...)>;
        type: ZodLiteral<(...)>;
    }, "strip", ZodTypeAny, {
        notify?: (...) | (...) | (...);
        reason?: (...) | (...);
        type: "kick";
    }, {
        notify?: (...) | (...) | (...);
        reason?: (...) | (...);
        type: "kick";
    }>, ZodObject<{
        duration: ZodOptional<(...)>;
        notify: ZodOptional<(...)>;
        reason: ZodOptional<(...)>;
        type: ZodLiteral<(...)>;
    }, "strip", ZodTypeAny, {
        duration?: (...) | (...);
        notify?: (...) | (...) | (...);
        reason?: (...) | (...);
        type: "mute";
    }, {
        duration?: (...) | (...);
        notify?: (...) | (...) | (...);
        reason?: (...) | (...);
        type: "mute";
    }>]>, "many">>;
    bail: ZodDefault<ZodBoolean>;
    bypasses: ZodDefault<ZodNullable<ZodArray<ZodString, "many">>>;
    data: ZodDefault<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<"file_extension_filter">;
}, "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";
        })[];
    bail: boolean;
    bypasses: null | string[];
    data: 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: "file_extension_filter";
}, {
    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";
        })[];
    bail?: boolean;
    bypasses?: null | string[];
    data?: 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: "file_extension_filter";
}>]> = ...
""