/**
 * AI Service Client domain port.
 *
 * Application services depend on this interface for AI-powered issuer review.
 * The concrete HTTP implementation lives in infrastructure/external/.
 */

export const AI_SERVICE_CLIENT = Symbol('IAiServiceClient');

export interface IssuerReviewRequest {
  id: string;
  companyName: string;
  businessLicense: string | null;
  contactName: string;
  contactPhone: string;
  contactEmail: string | null;
  description: string | null;
  creditScore: string;
  createdAt: Date;
}

export interface IssuerReviewResult {
  issuerId: string;
  recommendation: string;
  riskLevel: string;
  reasons: string[];
}

export interface IAiServiceClient {
  reviewIssuers(issuers: IssuerReviewRequest[]): Promise<IssuerReviewResult[] | null>;
}
