/// <reference types="node" />
import ws from "ws";
import { DtmfBufferGenerator } from "./dtmf/DtmfBufferGenerator";
import { Call, CallEvents } from "./Call";
import { TypedEmitter } from "../Emitter";
export declare enum WebSocketEvents {
    Message = "message",
    Close = "close"
}
export declare class TwilioCall extends TypedEmitter<CallEvents> implements Call {
    private readonly connection;
    private readonly dtmfGenerator;
    private static debug;
    private readonly processMessageReference;
    private readonly serverClosedConnectionReference;
    private streamSid;
    constructor(connection: ws, dtmfGenerator: DtmfBufferGenerator);
    close(reason: string): void;
    isOpen(): boolean;
    private serverClosedConnection;
    private closeConnection;
    private processMessage;
    sendDtmfTone(dtmfSequence: string): void;
    sendMedia(payload: Buffer, name?: string): void;
    getStream(): ws;
}
