import { CallingCallCollectResult, Promisify } from '@signalwire/core';
import { Call } from '../Call';
import { CallCollect } from './CallCollect';
import { CallCollectListeners } from '../../types';
export interface CallCollectEnded {
    id: string;
    callId: string;
    nodeId: string;
    controlId: string;
    result?: CallingCallCollectResult;
    type?: CallingCallCollectResult['type'];
    reason?: CallingCallCollectResult['type'];
    digits?: string;
    speech?: string;
    terminator?: string;
    text?: string;
    confidence?: number;
}
export interface CallCollectPromise extends Promise<CallCollectEnded>, Promisify<CallCollectEnded> {
    onStarted: () => Promise<CallCollect>;
    onEnded: () => Promise<CallCollectEnded>;
    listen: (listeners: CallCollectListeners) => Promise<() => Promise<void>>;
    stop: () => Promise<CallCollect>;
    startInputTimers: () => Promise<CallCollect>;
    ended: () => Promise<CallCollect>;
}
export declare const getters: string[];
export declare const methods: string[];
export declare function decorateCollectPromise(this: Call, innerPromise: Promise<CallCollect>): CallCollectPromise;
//# sourceMappingURL=decorateCollectPromise.d.ts.map