import AbstractProcessor from './AbstractProcessor';
import type { CallReturn } from '../types/Connection';
import type { WampMessage } from '../types/Protocol';
import type { WampDict, WampID, WampList, WampURI } from '../types/messages/MessageTypes';
import type { CallOptions, ECallKillMode } from '../types/messages/CallMessage';
declare class Caller extends AbstractProcessor {
    static getFeatures(): WampDict;
    private _pendingCalls;
    call<A extends WampList, K extends WampDict, T = any>(uri: WampURI, args?: A, kwArgs?: K, details?: CallOptions): CallReturn<T>;
    cancel(requestId: WampID, killMode?: ECallKillMode): Promise<void>;
    protected onMessage(msg: WampMessage): boolean;
    protected onClose(): void;
}
export default Caller;
