import { CallingCallPlayEventParams, VoiceCallPlaybackContract } from '@signalwire/core';
import { ListenSubscriber } from '../../ListenSubscriber';
import { CallPlaybackEvents, CallPlaybackListeners, CallPlaybackListenersEventsMapping } from '../../types';
import { Call } from '../Call';
export interface CallPlaybackOptions {
    call: Call;
    payload: CallingCallPlayEventParams;
    listeners?: CallPlaybackListeners;
}
export declare class CallPlayback extends ListenSubscriber<CallPlaybackListeners, CallPlaybackEvents> implements VoiceCallPlaybackContract {
    _paused: boolean;
    private _volume;
    private _payload;
    protected _eventMap: CallPlaybackListenersEventsMapping;
    constructor(options: CallPlaybackOptions);
    get id(): string;
    get volume(): number;
    get callId(): string;
    get nodeId(): string;
    get controlId(): string;
    get state(): import("@signalwire/core").CallingCallPlayState;
    get hasEnded(): boolean;
    /** @internal */
    setPayload(payload: CallingCallPlayEventParams): void;
    pause(): Promise<this>;
    resume(): Promise<this>;
    stop(): Promise<this>;
    setVolume(volume: number): Promise<this>;
    /** @deprecated */
    waitForEnded(): Promise<this>;
    ended(): Promise<this>;
}
//# sourceMappingURL=CallPlayback.d.ts.map