import { VoiceCallTapContract, CallingCallTapEventParams } from '@signalwire/core';
import { ListenSubscriber } from '../../ListenSubscriber';
import { CallTapEvents, CallTapListeners, CallTapListenersEventsMapping } from '../../types';
import { Call } from '../Call';
export interface CallTapOptions {
    call: Call;
    payload: CallingCallTapEventParams;
    listeners?: CallTapListeners;
}
export declare class CallTap extends ListenSubscriber<CallTapListeners, CallTapEvents> implements VoiceCallTapContract {
    private _payload;
    protected _eventMap: CallTapListenersEventsMapping;
    constructor(options: CallTapOptions);
    get id(): string;
    get controlId(): string;
    get nodeId(): string;
    get callId(): string;
    get state(): import("@signalwire/core").CallingCallTapState;
    get hasEnded(): boolean;
    /** @internal */
    setPayload(payload: CallingCallTapEventParams): void;
    stop(): Promise<this>;
    ended(): Promise<this>;
}
//# sourceMappingURL=CallTap.d.ts.map