/**
 * Notification context for SIM management actions (BFF-specific, not domain types).
 * Contains arbitrary action metadata (account, subscriptionId, error messages, etc.)
 * that varies per action type.
 */
export interface SimNotificationContext {
  account?: string;
  subscriptionId?: number;
  userId?: string;
  error?: string;
  [key: string]: unknown;
}

export interface SimActionNotification {
  action: string;
  status: "SUCCESS" | "ERROR";
  context: SimNotificationContext;
}

export interface SimValidationResult {
  account: string;
}

/** Debug output for SIM subscription troubleshooting (admin-only endpoint) */
export interface SimDebugInfo {
  subscriptionId: number;
  productName: string;
  domain?: string | undefined;
  orderNumber?: string | undefined;
  isSimService: boolean;
  groupName?: string | undefined;
  status: string;
  extractedAccount: string | null;
  accountSource: string;
  customFieldKeys: string[];
  customFields?: Record<string, string> | null | undefined;
  hint?: string | undefined;
}
