/**
 * Repository Interface: WalletRepository
 */

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

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

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