import '../entities/standing_order.dart';

/// Repository interface for standing order operations.
abstract class StandingOrdersRepository {
  /// Fetches all standing orders.
  Future<List<StandingOrder>> getAll();

  /// Fetches a single standing order by ID.
  Future<StandingOrder> getById(String id);

  /// Creates a new standing order and returns the created entity.
  Future<StandingOrder> create(Map<String, dynamic> data);

  /// Updates an existing standing order.
  Future<StandingOrder> update(String id, Map<String, dynamic> updates);

  /// Deletes a standing order by ID.
  Future<void> delete(String id);

  /// Toggles the active state of a standing order.
  Future<StandingOrder> toggleActive(String id, bool isActive);
}
