declare class JSONRPCClient extends EventTarget {
    static defaultOptions: {
        secure: boolean;
        host: string;
        port: number;
        secret: string;
        path: string;
    };
    constructor(options: any);
    deferreds: any;
    lastId: number;
    id(): number;
    url(protocol: any): string;
    websocket(message: any): Promise<void>;
    http(message: any): Promise<any>;
    _buildMessage(method: any, params: any): {
        method: string;
        "json-rpc": string;
        id: number;
    };
    batch(calls: any): Promise<any>;
    call(method: any, parameters: any): Promise<any>;
    _send(message: any): Promise<any>;
    _onresponse({ id, error, result }: {
        id: any;
        error: any;
        result: any;
    }): void;
    _onrequest({ method, params }: {
        method: any;
        params: any;
    }): any;
    _onnotification({ method, params }: {
        method: any;
        params: any;
    }): void;
    _onmessage(message: any): void;
    _onobject(message: any): void;
    open(): Promise<any>;
    socket: WebSocket | undefined;
    close(): Promise<any>;
}

declare class Aria2 extends JSONRPCClient {
    static prefix: any;
    static unprefix: any;
    addSecret(parameters: any): string[];
    _onnotification(notification: any): void;
    call(method: any, ...params: any[]): Promise<any>;
    multicall(calls: any): Promise<any>;
    listNotifications(): Promise<any>;
    listMethods(): Promise<any>;
}

export { Aria2 as default };
