namespace MyOffice.Data.Repositories.Account;

using Models.Accounts;

public interface IMotionRepository
{
	Task<bool> AddAsync(Motion motion, CancellationToken cancellationToken = default);
	Task<List<Motion>> GetByAccountAsync(Guid accountId, DateTime dateFrom, DateTime dateTo, CancellationToken cancellationToken = default);
	Task<Motion?> GetAsync(Guid userId, Guid id, CancellationToken cancellationToken = default);
	Task<bool> UpdateAsync(Motion motion, CancellationToken cancellationToken = default);
	Task<bool> RemoveAsync(Motion motion, CancellationToken cancellationToken = default);
}
