import 'package:dartz/dartz.dart';
import '../error/failures.dart';

/// Interface de base pour tous les cas d'usage
abstract class UseCase<Type, Params> {
  Future<Either<Failure, Type>> call(Params params);
}

/// Cas d'usage sans paramètres
abstract class NoParamsUseCase<Type> {
  Future<Either<Failure, Type>> call();
}

/// Classe pour représenter l'absence de paramètres
class NoParams {
  const NoParams();
}
