import { SettlementOrder } from '@/domain/aggregates';
import { SettlementStatus } from '@/domain/value-objects';

export interface ISettlementOrderRepository {
  save(order: SettlementOrder): Promise<SettlementOrder>;
  findById(orderId: bigint): Promise<SettlementOrder | null>;
  findByUserId(userId: bigint, status?: SettlementStatus): Promise<SettlementOrder[]>;
  findPendingOrders(): Promise<SettlementOrder[]>;
}

export const SETTLEMENT_ORDER_REPOSITORY = Symbol('ISettlementOrderRepository');
