import { BaseSpeechRecognitionEngine } from './base-engine';
import { SpeechRecognitionConfig, SpeechRecognitionResult, AudioInputConfig } from '../types';
/**
 * Vosk engine for offline speech recognition
 */
export declare class VoskEngine extends BaseSpeechRecognitionEngine {
    private vosk;
    private model;
    private recognizer;
    private modelPath;
    constructor(modelPath?: string);
    /**
     * Check if Vosk is available
     */
    isAvailable(): boolean;
    /**
     * Get supported languages based on available models
     */
    getSupportedLanguages(): string[];
    /**
     * Initialize Vosk module and model
     */
    private initializeVosk;
    /**
     * Start speech recognition
     */
    start(audioConfig: AudioInputConfig, recognitionConfig?: SpeechRecognitionConfig): Promise<void>;
    /**
     * Start microphone recognition
     */
    private startMicrophoneRecognition;
    /**
     * Process audio file
     */
    private processAudioFile;
    /**
     * Process audio stream
     */
    private processAudioStream;
    /**
     * Stop speech recognition
     */
    stop(): Promise<void>;
    /**
     * Abort speech recognition
     */
    abort(): Promise<void>;
    /**
     * Process audio file directly
     */
    processFile(filePath: string, config?: SpeechRecognitionConfig): Promise<SpeechRecognitionResult[]>;
    /**
     * Process audio stream directly
     */
    processStream(stream: NodeJS.ReadableStream, config?: SpeechRecognitionConfig): Promise<SpeechRecognitionResult[]>;
    /**
     * Clean up resources
     */
    protected cleanup(): void;
    /**
     * Set model path
     */
    setModelPath(modelPath: string): void;
    /**
     * Get current model path
     */
    getModelPath(): string | null;
    /**
     * Download and setup Vosk model (helper method)
     */
    static downloadModel(language: string, modelSize?: 'small' | 'large'): Promise<string>;
}
//# sourceMappingURL=vosk-engine.d.ts.map