import 'package:dartz/dartz.dart'; import '../../../../core/errors/failures.dart'; import '../entities/warehouse_entity.dart'; /// Abstract repository interface for warehouse operations /// Defines the contract for warehouse data operations /// Implementations should handle data sources and convert exceptions to failures abstract class WarehouseRepository { /// Get all warehouses from the remote data source /// /// Returns [Either>] /// - Right: List of warehouses on success /// - Left: Failure object with error details Future>> getWarehouses(); }