import { ACL } from '../acl'; import { firebase, Logger } from '../core'; import { Config } from '../core/config'; import { EpisodeRepository } from '../episodes/repository'; import { ItunesGenresRepository } from '../itunes-genres/repository'; import { UserRepository } from '../users/repository'; import { ImportQueue } from './import.queue'; import { IndexingQueue } from './indexing.queue'; import { PodacstsRepository } from './repository'; export declare class PodcastsService { private readonly podcastsRepo; private readonly itunesGenresRepo; private readonly episodeRepo; private readonly store; private readonly importQueue; private readonly indexingQueue; private readonly userRepo; private readonly acl; private readonly config; private logger; constructor(podcastsRepo: PodacstsRepository, itunesGenresRepo: ItunesGenresRepository, episodeRepo: EpisodeRepository, store: firebase.firestore.Firestore, importQueue: ImportQueue, indexingQueue: IndexingQueue, userRepo: UserRepository, acl: ACL, logger: Logger, config: Config); cleanPodcastData | SoundonApi.Podcast>(podcast: T): T; createPodcast(podcast: SoundonApi.Podcast, userId: string): Promise>; updatePodcast(podcastId: string, podcast: Partial): Promise>; getPodcastById(podcastId: string): Promise>; getPodcastsOfUser(userId: string): Promise>>; importPodcastPreview(feedURL: string): Promise<{ podcast: SoundonApi.Podcast; episodes: SoundonApi.Episode.Post[]; }>; importPodcast(userId: string, feedURL: string): Promise>; checkRedirect(podcastId: string): Promise; rssFeedUrl(podcastId: string): string; getRedirectedUrl(url: string): Promise; }