import { VoiceCallPromptContract, CallingCallCollectEventParams } from '@signalwire/core';
import { Call } from '../Call';
import { CallPromptEvents, CallPromptListeners, CallPromptListenersEventsMapping } from '../../types';
import { ListenSubscriber } from '../../ListenSubscriber';
export interface CallPromptOptions {
    call: Call;
    payload: CallingCallCollectEventParams;
    listeners?: CallPromptListeners;
}
export declare class CallPrompt extends ListenSubscriber<CallPromptListeners, CallPromptEvents> implements VoiceCallPromptContract {
    private _payload;
    protected _eventMap: CallPromptListenersEventsMapping;
    constructor(options: CallPromptOptions);
    get id(): string;
    get controlId(): string;
    get callId(): string;
    get nodeId(): string;
    get result(): import("@signalwire/core").CallingCallCollectResult;
    get type(): "error" | "no_input" | "digit" | "no_match" | "start_of_input" | "speech";
    /**
     * User-friendly alias to understand the reason in case of errors
     * no_match | no_input | error
     */
    get reason(): "error" | "no_input" | "digit" | "no_match" | "start_of_input" | "speech";
    get digits(): string | undefined;
    get speech(): string | undefined;
    get terminator(): string | undefined;
    get text(): string | undefined;
    get confidence(): number | undefined;
    get hasEnded(): boolean;
    /** @internal */
    setPayload(payload: CallingCallCollectEventParams): void;
    stop(): Promise<this>;
    setVolume(volume: number): Promise<this>;
    /** @deprecated */
    waitForResult(): Promise<this>;
    ended(): Promise<this>;
}
//# sourceMappingURL=CallPrompt.d.ts.map