/**
 * Repository Interface: ILeagueWalletRepository
 *
 * Defines operations for LeagueWallet aggregate persistence
 */

import type { LeagueWallet } from '../entities/league-wallet/LeagueWallet';

export interface ILeagueWalletRepository {
  findById(id: string): Promise<LeagueWallet | null>;
  findByLeagueId(leagueId: string): Promise<LeagueWallet | null>;
  create(wallet: LeagueWallet): Promise<LeagueWallet>;
  update(wallet: LeagueWallet): Promise<LeagueWallet>;
  delete(id: string): Promise<void>;
  exists(id: string): Promise<boolean>;
}