import { Argument, RpcResponse, WithIds } from "../CommonTypes";
import { AbstractRequest } from "../AbstractRequest";
import { TorrentMethods } from "./TorrentMethods";
import { RemoveTorrentRequestArguments } from "./RemoveTorrent";
export declare type ActionArguments = {} & WithIds & Argument;
declare abstract class ActionRequest extends AbstractRequest<ActionArguments> {
    protected constructor(args: ActionArguments, method: TorrentMethods, tag?: number);
}
export declare class StartTorrentRequest extends ActionRequest {
    static of(args: RemoveTorrentRequestArguments, tag?: number): StartTorrentRequest;
}
export declare class StopTorrentRequest extends ActionRequest {
    static of(args: RemoveTorrentRequestArguments, tag?: number): StartTorrentRequest;
}
export declare class StartNowTorrentRequest extends ActionRequest {
    static of(args: RemoveTorrentRequestArguments, tag?: number): StartTorrentRequest;
}
export declare class VerifyTorrentRequest extends ActionRequest {
    static of(args: RemoveTorrentRequestArguments, tag?: number): StartTorrentRequest;
}
export declare class ReannounceTorrentRequest extends ActionRequest {
    static of(args: RemoveTorrentRequestArguments, tag?: number): StartTorrentRequest;
}
export declare type TorrentActionResponse = {} & RpcResponse<any>;
export {};
