import { Dispute } from '../entities/dispute.entity';

export const DISPUTE_REPOSITORY = Symbol('IDisputeRepository');

export interface IDisputeRepository {
  create(data: Partial<Dispute>): Dispute;
  save(dispute: Dispute): Promise<Dispute>;
  findById(id: string): Promise<Dispute | null>;

  /** Paginated list with optional status and type filters */
  findPaginated(
    page: number,
    limit: number,
    filters?: { status?: string; type?: string },
  ): Promise<[Dispute[], number]>;
}
