transmission-rpc-client
Version:
Transmission client for V3. More info in Git Repo
40 lines (39 loc) • 2.57 kB
TypeScript
import { GetTorrentRequest, GetTorrentResponse } from '../model/torrent/GetTorrent';
import { ClientConfig } from './ClientConfig';
import { AddTorrentRequest, AddTorrentResponse } from '../model/torrent/AddTorrent';
import { Argument, RpcRequest, RpcResponse } from '../model/CommonTypes';
import { RemoveTorrentRequest, RemoveTorrentResponse } from '../model/torrent/RemoveTorrent';
import { UpdateTorrentRequest, UpdateTorrentResponse } from '../model/torrent/UpdateTorrent';
import { SetTorrentLocationRequest, SetTorrentLocationResponse } from "../model/torrent/SetTorrentLocation";
import { GetSessionRequest, GetSessionResponse, SetSessionRequest, SetSessionResponse } from "../model/session/Session";
import { FreeSpaceRequest, FreeSpaceResponse } from "../model/session/FreeSpace";
import { SessionStatsRequest, SessionStatsResponse } from "../model/session/SessionStats";
import { ReannounceTorrentRequest, StartNowTorrentRequest, StartTorrentRequest, StopTorrentRequest, TorrentActionResponse, VerifyTorrentRequest } from "../model/torrent/TorrentAction";
export declare class TransmissionClient {
private readonly csrfHeader;
private readonly separator;
private readonly config;
private readonly protocol;
private readonly host;
private readonly url;
private token;
constructor(config: ClientConfig);
request<REQ extends RpcRequest<Argument>, RES extends RpcResponse<Argument>>(req: REQ): Promise<RES>;
getTorrents(req: GetTorrentRequest): Promise<GetTorrentResponse>;
addTorrent(req: AddTorrentRequest): Promise<AddTorrentResponse>;
moveTorrent(req: SetTorrentLocationRequest): Promise<SetTorrentLocationResponse>;
removeTorrent(req: RemoveTorrentRequest): Promise<RemoveTorrentResponse>;
updateTorrent(req: UpdateTorrentRequest): Promise<UpdateTorrentResponse>;
stopTorrent(req: StopTorrentRequest): Promise<TorrentActionResponse>;
startTorrent(req: StartTorrentRequest): Promise<TorrentActionResponse>;
/**
* Start torrent bypassing queueing
*/
startTorrentNow(req: StartNowTorrentRequest): Promise<TorrentActionResponse>;
verifyTorrent(req: VerifyTorrentRequest): Promise<TorrentActionResponse>;
torrentReannounce(req: ReannounceTorrentRequest): Promise<TorrentActionResponse>;
getSession(req: GetSessionRequest): Promise<GetSessionResponse>;
setSession(req: SetSessionRequest): Promise<SetSessionResponse>;
getFreeSpace(req: FreeSpaceRequest): Promise<FreeSpaceResponse>;
getSessionStats(req: SessionStatsRequest): Promise<SessionStatsResponse>;
}