import { RateLimiter } from '../../infrastructure/http/RateLimiter'; import { Logger } from '../../infrastructure/logging/Logger'; import type { DomainResponse, IPResponse, ASNResponse, NameserverResponse, EntityResponse, AvailabilityResult, ExplainResult, SearchResult } from '../../shared/types'; import type { RDAPClientOptions } from '../../shared/types/options'; import { BatchProcessor } from '../services/BatchProcessor'; import type { BatchQueryRequest, StreamBatchOptions } from '../services/BatchProcessor'; import type { QueryTypeLiteral, BatchQueryResult } from '../../shared/types/generics'; import { MiddlewareManager } from '../hooks/MiddlewareHooks'; import type { MiddlewareOptions } from '../hooks/MiddlewareHooks'; export declare class RDAPClient { private readonly options; private readonly cache; private readonly fetcher; private readonly ssrfProtection; private readonly bootstrap; private readonly normalizer; private readonly piiRedactor; private readonly orchestrator; private readonly rateLimiter; private readonly batchProcessor; private readonly connectionPool; private readonly metricsCollector; private readonly logger; private readonly middlewareManager; private readonly queryDeduplicator; private readonly debugEnabled; private readonly debugLogger?; private readonly nativeBackend; constructor(options?: RDAPClientOptions); domain(domain: string): Promise; ip(ip: string): Promise; asn(asn: string | number): Promise; nameserver(nameserver: string): Promise; entity(handle: string, serverUrl: string): Promise; checkAvailability(domain: string): Promise; checkAvailabilityBatch(domains: string[]): Promise>; searchDomains(pattern: string, serverUrl?: string): Promise>; searchEntities(pattern: string, serverUrl?: string): Promise>; explain(query: string): Promise; private pingTelemetry; private fetchWithRetry; private normalizeOptions; validate(): Promise<{ valid: boolean; errors: string[]; warnings: string[]; }>; clearCache(): Promise; getStats(): Promise<{ cache: { size: number; enabled: boolean; ttl: number; }; bootstrap: { size: number; types: string[]; }; }>; getConfig(): Required; getRateLimiter(): RateLimiter; getBatchProcessor(): BatchProcessor; streamBatch(requests: BatchQueryRequest[], options?: StreamBatchOptions): AsyncGenerator, void, unknown>; getMetrics(since?: number): import("../../infrastructure/monitoring/MetricsCollector").MetricsSummary; getConnectionPoolStats(): { totalConnections: number; activeConnections: number; idleConnections: number; hosts: number; }; use(hooks: Partial): this; getMiddlewareManager(): MiddlewareManager; getDeduplicatorStats(): { enabled: boolean; inflight: number; windowMs: number; }; getCircuitBreakerStats(): Record; getLogger(): Logger; getLogs(count?: number): import("../../infrastructure/logging/Logger").LogEntry[]; clearAll(): Promise; destroy(): void; } //# sourceMappingURL=RDAPClient.d.ts.map