///
export interface TorrentAdapterTorrent {
name: string;
files: TorrentAdapterFile[];
remove(): Promise;
getDownloadSpeed(): number;
getDownloaded(): number;
getUploadSpeed(): number;
getUploaded(): number;
}
export interface TorrentAdapterFile {
name: string;
path: string;
length: number;
createReadStream(opts?: {
start: number;
end: number;
}): NodeJS.ReadableStream;
stop(): void;
}
export declare abstract class TorrentAdapter {
constructor(_options?: {
downloadLimit?: number;
uploadLimit?: number;
});
abstract add(magnet: string, path: string): Promise;
abstract destroy(): Promise;
}
export declare class TorrentClientError extends Error {
}