* THIS FILE IS GENERATED - ANY EDITS WILL BE OVERWRITTEN
*/
#pragma once
#include"types.hpp"
#include"csapi/definitions/event_filter.hpp"
namespaceKazv{
structRoomEventFilter:EventFilter
{
/// If ``true``, enables lazy-loading of membership events. See
/// `Lazy-loading room members <#lazy-loading-room-members>`_
/// for more information. Defaults to ``false``.
std::optional<bool>lazyLoadMembers;
/// If ``true``, sends all membership events for all events, even if they have already
/// been sent to the client. Does not
/// apply unless ``lazy_load_members`` is ``true``. See
/// `Lazy-loading room members <#lazy-loading-room-members>`_
/// for more information. Defaults to ``false``.
std::optional<bool>includeRedundantMembers;
/// A list of room IDs to exclude. If this list is absent then no rooms are excluded. A matching room will be excluded even if it is listed in the ``'rooms'`` filter.
immer::array<std::string>notRooms;
/// A list of room IDs to include. If this list is absent then all rooms are included.
immer::array<std::string>rooms;
/// If ``true``, includes only events with a ``url`` key in their content. If ``false``, excludes those events. If omitted, ``url`` key is not considered for filtering.