import { CallingCallTapEndState, CallingCallTapState, Promisify } from '@signalwire/core';
import { Call } from '../Call';
import { CallTap } from './CallTap';
import { CallTapListeners } from '../../types';
export interface CallTapEnded {
    id: string;
    callId: string;
    nodeId: string;
    controlId: string;
    state: CallingCallTapEndState;
}
export interface CallTapPromise extends Promise<CallTapEnded>, Omit<Promisify<CallTapEnded>, 'state'> {
    onStarted: () => Promise<CallTap>;
    onEnded: () => Promise<CallTapEnded>;
    listen: (listeners: CallTapListeners) => Promise<() => Promise<void>>;
    stop: () => Promise<CallTap>;
    ended: () => Promise<CallTap>;
    state: Promise<CallingCallTapState>;
}
export declare const getters: string[];
export declare const methods: string[];
export declare function decorateTapPromise(this: Call, innerPromise: Promise<CallTap>): CallTapPromise;
//# sourceMappingURL=decorateTapPromise.d.ts.map