export interface ProviderTorrent { id: string; name: string; magnet?: string; seeds: number; peers: number; size: string; time?: number; downloads?: number; category?: { id: string; name: string; }; link?: string; isVip?: boolean; imdb?: string; numFiles?: number; comments?: number; provider: string; } export interface ProviderCategory { name: string; id: string; subcategories: { name: string; id: string; }[]; } export interface ProviderMeta { provider: string; categories: ProviderCategory[]; } export interface ProviderSearchOptions { category?: string; limit?: number; } export declare abstract class Provider { abstract providerName: string; abstract getMeta(): Promise; search(_query: string, _options?: ProviderSearchOptions): Promise; getMagnet(_id: string): Promise; } export interface ProviderError { error: string; provider: string; }