import { Redemption } from '../entities/redemption.entity';

export const REDEMPTION_REPOSITORY = Symbol('IRedemptionRepository');

export interface RedemptionListFilters {
  issuerId?: string;
  startDate?: string;
  endDate?: string;
  page: number;
  limit: number;
}

export interface IRedemptionRepository {
  findById(id: string): Promise<Redemption | null>;
  create(data: Partial<Redemption>): Promise<Redemption>;
  createMany(data: Partial<Redemption>[]): Promise<Redemption[]>;
  findAndCount(filters: RedemptionListFilters): Promise<[Redemption[], number]>;
  getTodayStats(issuerId: string): Promise<{ count: number; totalAmount: number }>;
}
