delete method
Soft-deletes the row: sets deleted_at to the current UTC time.
Throws StateError if the row does not exist.
Implementation
@override
Future<void> delete(String table, String id) async {
final rows = _tables[table];
if (rows == null || !rows.containsKey(id)) {
throw StateError('Row $id not found in $table');
}
rows[id]![SyncColumns.deletedAt] =
DateTime.now().toUtc().millisecondsSinceEpoch;
}