import 'package:fpdart/fpdart.dart'; import 'package:hiddify/domain/enums.dart'; import 'package:hiddify/domain/profiles/profiles.dart'; abstract class ProfilesRepository { TaskEither get(String id); Stream> watchActiveProfile(); Stream> watchHasAnyProfile(); Stream>> watchAll({ ProfilesSort sort = ProfilesSort.lastUpdate, SortMode mode = SortMode.ascending, }); TaskEither addByUrl( String url, { bool markAsActive = false, }); TaskEither add(Profile baseProfile); TaskEither update(Profile baseProfile); TaskEither setAsActive(String id); TaskEither delete(String id); }