import { RemovalMethod, RemovalStatus, BrokerCategory } from "@shieldai/types";

export interface PersonalInfo {
  fullName: string;
  email?: string;
  phone?: string;
  address?: {
    street?: string;
    city?: string;
    state?: string;
    zip?: string;
  };
  dob?: string;
}

export interface BrokerEntry {
  id: string;
  name: string;
  domain: string;
  category: BrokerCategory;
  removalMethod: RemovalMethod;
  removalUrl?: string;
  requiresAccount: boolean;
  requiresVerification: boolean;
  estimatedDays: number;
  isActive: boolean;
}

export interface RemovalJob {
  requestId: string;
  brokerId: string;
  brokerName: string;
  personalInfo: PersonalInfo;
  method: RemovalMethod;
  attempt: number;
}

export const MAX_REMOVAL_ATTEMPTS = 3;
export const RETRY_DELAY_MS = 24 * 60 * 60 * 1000; // 24 hours
