import { type RealtimeVoiceAdapter } from "@assistant-ui/core";
/** Options for a browser WebRTC connection to OpenAI Realtime. */
export type OpenAIRealtimeVoiceAdapterOptions = {
    /** Exchange the browser's SDP offer for an answer through your authenticated server. Keep the API key and session configuration on the server. */
    exchangeSdp: (sdp: string, options: {
        signal: AbortSignal;
    }) => Promise<string>;
};
/**
 * Connects browser microphone audio directly to OpenAI Realtime over WebRTC.
 * Configure audio output, input transcription, and automatic turn detection on
 * the server. Each connection starts a new conversation; existing thread history
 * and assistant-ui tools are not sent to the voice model.
 */
export declare class OpenAIRealtimeVoiceAdapter implements RealtimeVoiceAdapter {
    private readonly options;
    constructor(options: OpenAIRealtimeVoiceAdapterOptions);
    connect(options: {
        abortSignal?: AbortSignal;
    }): RealtimeVoiceAdapter.Session;
}
//# sourceMappingURL=OpenAIRealtimeVoiceAdapter.d.ts.map