import { CallingCallPlayEndState, CallingCallPlayState, Promisify } from '@signalwire/core';
import { Call } from '../Call';
import { CallPlayback } from './CallPlayback';
import { CallPlaybackListeners } from '../../types';
export interface CallPlaybackEnded {
    id: string;
    volume: number;
    callId: string;
    nodeId: string;
    controlId: string;
    state: CallingCallPlayEndState;
}
export interface CallPlaybackPromise extends Promise<CallPlaybackEnded>, Omit<Promisify<CallPlaybackEnded>, 'state'> {
    onStarted: () => Promise<CallPlayback>;
    onEnded: () => Promise<CallPlaybackEnded>;
    listen: (listeners: CallPlaybackListeners) => Promise<() => Promise<void>>;
    pause: () => Promise<CallPlayback>;
    resume: () => Promise<CallPlayback>;
    stop: () => Promise<CallPlayback>;
    setVolume: () => Promise<CallPlayback>;
    ended: () => Promise<CallPlayback>;
    state: Promise<CallingCallPlayState>;
}
export declare const getters: string[];
export declare const methods: string[];
export declare function decoratePlaybackPromise(this: Call, innerPromise: Promise<CallPlayback>): CallPlaybackPromise;
//# sourceMappingURL=decoratePlaybackPromise.d.ts.map