/**
 * Repository Interface: IWalletRepository
 */

import type { Wallet, Transaction } from '../entities/Wallet';

export interface IWalletRepository {
  findById(id: string): Promise<Wallet | null>;
  findByLeagueId(leagueId: string): Promise<Wallet | null>;
  create(wallet: Wallet): Promise<Wallet>;
  update(wallet: Wallet): Promise<Wallet>;
}

export interface ITransactionRepository {
  findById(id: string): Promise<Transaction | null>;
  findByWalletId(walletId: string): Promise<Transaction[]>;
  create(transaction: Transaction): Promise<Transaction>;
}