mirrored_repositories/flutter_crud_example/lib/domain
import 'package:customer_management/domain/entity/customer.dart';

abstract class CustomerRepository {
  Future<CustomerEntity?> get(String id);
  Future<List<CustomerEntity>> getAll();
  Future<void> add(CustomerEntity customer);
  Future<void> update(CustomerEntity customer);
  Future<void> delete(CustomerEntity customer);
  Future<bool> isEmailAvailable(String email);
  Future<bool> isFirstNameLastNameBirthDateAvailable(
    String firstName,
    String lastName,
    DateTime dateOfBirth,
  );
}
