import '../entities/pokemon.dart'; /// Contrat d'accès aux données Pokémon. L'UI et le domaine ne connaissent que cette interface. abstract interface class PokemonRepository { /// Tous les Pokémon (DB locale d'abord, complétée par l'API si nécessaire). Future> getAll(); /// Un Pokémon par id (DB d'abord, sinon API + mise en cache). `null` si introuvable. Future getById(int id); /// Insère/remplace une liste de Pokémon. Future saveAll(List pokemons); /// Met à jour un Pokémon existant. Future update(Pokemon pokemon); /// Nombre de Pokémon attrapés. Future caughtCount(); /// Nombre de Pokémon vus. Future seenCount(); }