export const AGENT_REPOSITORY = Symbol('AGENT_REPOSITORY');

export interface AgentDashboardData {
  agentId: string;
  qualityScore: number;
  totalDeals: number;
  responseTimeAvg: number | null;
  isVerified: boolean;
  totalLeads: number;
  leadsByStatus: Record<string, number>;
  conversionRate: number;
  totalInquiries: number;
  unreadInquiries: number;
  totalListings: number;
  activeListings: number;
  avgReviewRating: number;
  totalReviews: number;
}

export interface IAgentRepository {
  findByUserId(userId: string): Promise<{ id: string; userId: string; qualityScore: number } | null>;
  findById(agentId: string): Promise<{ id: string; userId: string; qualityScore: number } | null>;
  updateQualityScore(agentId: string, score: number): Promise<void>;
  getDashboard(agentId: string): Promise<AgentDashboardData>;
}
