import { ProviderRegistry } from '../providers/provider-registry.js'; import { CacheService } from '../core/cache.js'; import { SourceResponse, ResponseIdMapping } from '../core/types/index.js'; import { TMDBService } from '../services/tmdb.service.js'; import { StremioService } from './stremio.service.js'; export declare class SourceService { private registry; private cache; private tmdbService; private stremioService; private cacheTTL; private tmdbValidator; private responseIdMap; constructor(registry: ProviderRegistry, cache: CacheService, tmdbService: TMDBService, stremioService: StremioService, cacheTTL?: { sources: number; subtitles: number; }); /** * Get movie sources from all providers */ getMovieSources(tmdbId: string): Promise; /** * Get TV episode sources from all providers */ getTVSources(tmdbId: string, season: number, episode: number): Promise; /** * Refresh cached sources by responseId */ refreshSource(responseId: string): Promise; /** * Store responseId to cacheKey mapping */ private storeResponseIdMapping; /** * Cleanup expired responseId mappings */ private cleanupExpiredMappings; private validateSourceUrl; /** * Fetch results from all providers concurrently */ private fetchFromProviders; /** * Build final response from provider results * Deduplicates sources and subtitles by URL */ private buildResponse; /** * Get mapping info for debugging */ getMappingInfo(responseId: string): ResponseIdMapping | undefined; /** * Get all mappings count */ getMappingsCount(): number; /** * Cleanup on service shutdown */ destroy(): void; } //# sourceMappingURL=source.service.d.ts.map