///
import { AxiosResponse } from 'axios';
import { TorrentState, TransferInfo } from '../interfaces.js';
import { QBITTORRENT_SETTINGS } from '../utils/config.js';
export declare class QbittorrentApi {
basePath: string;
cookie: string;
private client;
private version;
constructor(basePath: string, cookie: string);
getAndSetVersion(): Promise;
getTorrents(hashes?: string[]): Promise;
getTorrent(infohash: string): Promise;
getTrackers(infohash: string): Promise;
addTags(torrents: ApiCompatibleTorrent[], tags: string[]): Promise;
setCategory(infohash: string, category: string): Promise;
resumeTorrents(torrents: ApiCompatibleTorrent[]): Promise;
pauseTorrents(torrents: QbittorrentTorrent[]): Promise;
deleteTorrentsWithFiles(torrents: ApiCompatibleTorrent[]): Promise;
addTorrent(torrentData: Buffer, category?: string): Promise;
reannounce(infohash: string): Promise;
getTransferInfo(): Promise;
}
export declare const login: (qbittorrentSettings: QBITTORRENT_SETTINGS) => Promise;
export declare type ApiCompatibleTorrent = {
hash: string;
};
export declare type QbittorrentTorrent = {
name: string;
hash: string;
state: TorrentState;
added_on: number;
ratio: number;
category: string;
tags: string;
size: number;
};
export declare type QbittorrentTracker = {
status: number;
url: string;
};