import type {
  RfidCardBatch,
  RfidCardBatchDetail,
  RfidCardBatchStats,
} from "@/domain/entities/rfid-card-batch";
import type { BackendPaginatedData, PaginationQueryParams } from "@/shared/types";

export interface RfidCardBatchRepository {
  getStats(): Promise<RfidCardBatchStats>;
  findAll(params: PaginationQueryParams): Promise<BackendPaginatedData<RfidCardBatch>>;
  findById(id: number): Promise<RfidCardBatchDetail>;
  /** Finalises the batch (activation/deactivation) + syncs driver badges. */
  process(id: number): Promise<RfidCardBatchDetail>;
}
