/**
 * Speech Recognition
 *
 * Converts speech audio to text using various providers.
 * Supports Whisper, Google, Azure, and other services.
 */
import { EventEmitter } from 'events';
import type { SpeechRecognitionConfig, TranscriptResult } from './types.js';
/**
 * Speech recognizer interface
 */
export interface ISpeechRecognizer {
    /** Start listening */
    startListening(): Promise<void>;
    /** Stop listening */
    stopListening(): Promise<void>;
    /** Process audio chunk */
    processAudio(audio: Buffer): Promise<void>;
    /** Transcribe audio file */
    transcribe(audio: Buffer): Promise<TranscriptResult>;
    /** Check if listening */
    isListening(): boolean;
    /** Get configuration */
    getConfig(): SpeechRecognitionConfig;
}
/**
 * Speech recognizer implementation
 */
export declare class SpeechRecognizer extends EventEmitter implements ISpeechRecognizer {
    private config;
    private listening;
    private audioBuffer;
    private silenceStart;
    private recordingStart;
    constructor(config?: Partial<SpeechRecognitionConfig>);
    startListening(): Promise<void>;
    stopListening(): Promise<void>;
    processAudio(audio: Buffer): Promise<void>;
    transcribe(audio: Buffer): Promise<TranscriptResult>;
    /**
     * Transcribe using OpenAI Whisper API
     */
    private transcribeWithWhisper;
    /**
     * Transcribe using Google Speech-to-Text
     */
    private transcribeWithGoogle;
    /**
     * Transcribe using Azure Speech Services
     */
    private transcribeWithAzure;
    /**
     * Transcribe using Deepgram
     */
    private transcribeWithDeepgram;
    /**
     * Transcribe locally (placeholder)
     */
    private transcribeLocal;
    isListening(): boolean;
    getConfig(): SpeechRecognitionConfig;
    /**
     * Update configuration
     */
    updateConfig(config: Partial<SpeechRecognitionConfig>): void;
    /**
     * Set API key
     */
    setApiKey(apiKey: string): void;
    /**
     * Set language
     */
    setLanguage(language: string): void;
    /**
     * Add vocabulary words
     */
    addVocabulary(words: string[]): void;
    /**
     * Clear vocabulary
     */
    clearVocabulary(): void;
}
/**
 * Factory function for creating speech recognizer
 */
export declare function createSpeechRecognizer(config?: Partial<SpeechRecognitionConfig>): SpeechRecognizer;
export default SpeechRecognizer;
