import { llm } from '@livekit/agents';
import { realtime } from '@livekit/agents-plugin-openai';
declare const OpenAIRealtimeModel: typeof realtime.RealtimeModel, OpenAIRealtimeSession: typeof realtime.RealtimeSession;
type OpenAIRealtimeModelOptions = ConstructorParameters<typeof OpenAIRealtimeModel>[0];
export type GrokVoices = 'eve' | 'ara' | 'rex' | 'sal' | 'leo';
export type GrokRealtimeModels = 'grok-voice-fast-1.0' | 'grok-voice-think-fast-1.0' | 'grok-voice-think-fast-2.0';
export interface RealtimeModelOptions extends Omit<OpenAIRealtimeModelOptions, 'model'> {
    model?: GrokRealtimeModels | string;
    voice?: GrokVoices | string;
    apiKey?: string;
}
export declare class RealtimeModel extends OpenAIRealtimeModel {
    label(): string;
    constructor(options?: RealtimeModelOptions);
    session(): RealtimeSession;
}
export declare class RealtimeSession extends OpenAIRealtimeSession {
    private pendingTranscription?;
    private responseSpoke;
    protected resetInputTurnState(): void;
    close(): Promise<void>;
    protected createChatCtxUpdateEvents(chatCtx: llm.ChatContext, addMockAudio?: boolean): Promise<(realtime.ConversationItemCreateEvent | realtime.ConversationItemDeleteEvent)[]>;
    private discardAbandonedResponse;
    interrupt(): Promise<void>;
    protected handleResponseCreated(event: realtime.ResponseCreatedEvent): void;
    protected handleInputAudioBufferSpeechStarted(event: realtime.InputAudioBufferSpeechStartedEvent): void;
    protected handleConversationItemCreated(event: realtime.ConversationItemCreatedEvent): void;
    protected handleConversationItemInputAudioTranscriptionCompleted(event: realtime.ConversationItemInputAudioTranscriptionCompletedEvent): void;
    private flushInputTranscription;
    protected handleResponseAudioDelta(event: realtime.ResponseAudioDeltaEvent): void;
    protected handleResponseTextDelta(event: realtime.ResponseTextDeltaEvent): void;
}
export {};
//# sourceMappingURL=realtime_model.d.ts.map