/** * Cliente de validación de emails * Maneja validación individual, batch y upload de archivos */ /// /// import { HttpClient } from '../http/httpClient'; import type { Logger } from '../utils/logger'; import type { EmailValidationRequest, EmailValidationResponse, BatchValidationRequest, BatchValidationResponse, UploadOptions, BatchJobStatus } from './types'; export interface ValidationClientOptions { baseURL: string; httpClient?: HttpClient; logger?: Logger; getAuthHeaders: () => Record; } export declare class ValidationClient { private baseURL; private httpClient; private logger?; private getAuthHeaders; constructor(options: ValidationClientOptions); /** * Valida un email individual */ validateEmail(request: EmailValidationRequest): Promise; /** * Valida múltiples emails en batch */ batchValidateEmails(request: BatchValidationRequest): Promise; /** * Upload de archivo para validación batch */ uploadFileBatch(file: Buffer | Blob | File, options?: UploadOptions): Promise; /** * Obtiene el estado de un trabajo batch */ getBatchStatus(jobId: string): Promise; /** * Obtiene resultados de un trabajo batch completado */ getBatchResults(jobId: string): Promise; /** * Espera a que un trabajo batch se complete y retorna los resultados */ waitForBatchCompletion(jobId: string, options?: { pollInterval?: number; timeout?: number; onProgress?: (status: BatchJobStatus) => void; }): Promise; /** * Cancela un trabajo batch en progreso */ cancelBatch(jobId: string): Promise; /** * Valida emails con reintentos automáticos para los que fallen */ validateEmailsWithRetry(emails: string[], options?: { checkSmtp?: boolean; includeRawDns?: boolean; maxRetries?: number; onProgress?: (completed: number, total: number) => void; }): Promise; } //# sourceMappingURL=validationClient.d.ts.map