/** * Cliente principal de MailSafePro SDK */ /// /// import type { UserSession } from './auth/types'; import { HttpClient } from './http/httpClient'; import type { Logger, LoggerOptions } from './utils/logger'; import type { RateLimiterConfig } from './utils/rateLimiter'; import type { EmailValidationRequest, EmailValidationResponse, BatchValidationRequest, BatchValidationResponse, UploadOptions, BatchJobStatus } from './validation/types'; export interface MailSafeProClientOptions { baseURL?: string; apiKey?: string; logger?: Logger | LoggerOptions; timeout?: number; maxRetries?: number; rateLimitConfig?: RateLimiterConfig; autoRefresh?: boolean; enableRetry?: boolean; } export declare class MailSafeProClient { readonly version = "1.2.3"; private authClient; private validationClient; private httpClient; private logger; private baseURL; constructor(options?: MailSafeProClientOptions); login(email: string, password: string): Promise; register(email: string, password: string, name?: string): Promise; logout(): Promise; refreshToken(): Promise; getSession(): UserSession | null; isAuthenticated(): boolean; setApiKey(apiKey: string): void; clearApiKey(): void; validateEmail(request: EmailValidationRequest): Promise; batchValidateEmails(request: BatchValidationRequest): Promise; uploadFileBatch(file: Buffer | Blob | File, options?: UploadOptions): Promise; getBatchStatus(jobId: string): Promise; getBatchResults(jobId: string): Promise; waitForBatchCompletion(jobId: string, options?: { pollInterval?: number; timeout?: number; onProgress?: (status: BatchJobStatus) => void; }): Promise; cancelBatch(jobId: string): Promise; validateEmailsWithRetry(emails: string[], options?: { checkSmtp?: boolean; includeRawDns?: boolean; maxRetries?: number; onProgress?: (completed: number, total: number) => void; }): Promise; getRateLimiterStats(): ReturnType; clearRateLimiter(): void; setAutoRefresh(enabled: boolean): void; getLogger(): Logger; destroy(): void; } //# sourceMappingURL=client.d.ts.map