import "package:fast_immutable_collections/fast_immutable_collections.dart"; import "package:freezed_annotation/freezed_annotation.dart"; import "package:nexus/models/room.dart"; import "package:nexus/models/space_edge.dart"; part "sync_data.freezed.dart"; part "sync_data.g.dart"; @freezed abstract class SyncData with _$SyncData { const factory SyncData({ @Default(false) bool clearState, // required IMap accountData, @Default(IMap.empty()) IMap rooms, @Default(ISet.empty()) ISet leftRooms, // required IList invitedRooms, IMap>? spaceEdges, IList? topLevelSpaces, }) = _SyncData; factory SyncData.fromJson(Map json) => _$SyncDataFromJson(json); }