import { ContactImportRow, ImportRowStatus } from "@prisma/client";

export interface CreateImportRowData {
  rowIndex: number;
  rawData: Record<string, string>;
}

export interface ContactImportRowsRepository {
  createMany(jobId: string, rows: CreateImportRowData[]): Promise<void>;
  findPendingBatch(jobId: string, limit: number): Promise<ContactImportRow[]>;
  updateStatus(id: string, status: ImportRowStatus, errorMessage?: string): Promise<void>;
  findErrorsByJobId(jobId: string): Promise<ContactImportRow[]>;
  countRemaining(jobId: string): Promise<number>;
}
