import { TorrentRelease } from '../types/torrent.js'; import { Anime } from '../types/anime.js'; import { TorrentSource, QualityPreference } from '../types/config.js'; export declare function buildMagnetUri(infoHash: string, title: string): string; export declare function parseResolution(title: string): '4k' | '2160p' | '1080p' | '720p' | '480p' | 'Unknown'; export declare function parseUploaderGroup(title: string): string; export declare function isBatchTorrent(title: string): boolean; export declare function extractEpisodeFromTitle(title: string): number | undefined; /** * Extracts season number from a release's title. * Examples: * "Oshi no Ko 3rd Season - 01" -> 3 * "Oshi no Ko S2 - 01" -> 2 * "Oshi no Ko - 01" -> 1 * "Mushoku Tensei III - 01" -> 3 */ export declare function extractSeasonFromTitle(title: string): number; /** * Detects expected season from Anime metadata (English/Romaji titles). */ export declare function detectAnimeSeason(anime: Anime): number; export declare function fetchNyaaFeed(searchQuery: string): Promise; /** * Queries Nyaa specifically for ToonsHub's Multi-Audio & Hindi Dub releases. */ export declare function fetchToonsHubFeed(searchQuery: string): Promise; /** /** * Verifies if a torrent release title matches the target anime title as an exact phrase. * Prevents spinoffs or unrelated titles (e.g. "Super Dragon Ball Heroes") from matching "Dragon Ball Super". */ export declare function isExactAnimeMatch(releaseTitle: string, anime: Anime): boolean; export declare const VERIFIED_SUBMITTERS: string[]; export declare function isVerifiedSubmitter(title: string, uploader?: string): boolean; /** * Searches for releases across the configured torrent sources (Nyaa, AnimeTosho, or Auto). * Applies season-aware matching to strictly rank the correct season first. */ export declare function searchEpisodeTorrents(anime: Anime, episodeNumber: number, preferredQuality?: QualityPreference, source?: TorrentSource): Promise;