import { EventEmitter, ISpeechRecognitionEngine, SpeechRecognitionConfig, SpeechRecognitionResult, AudioInputConfig, SpeechRecognitionErrorType, SpeechRecognitionEvents } from '../types'; /** * Base class for speech recognition engines */ export declare abstract class BaseSpeechRecognitionEngine extends EventEmitter implements ISpeechRecognitionEngine { protected isRecording: boolean; protected config: SpeechRecognitionConfig; constructor(); /** * Start speech recognition */ abstract start(audioConfig: AudioInputConfig, recognitionConfig?: SpeechRecognitionConfig): Promise; /** * Stop speech recognition */ abstract stop(): Promise; /** * Abort speech recognition */ abstract abort(): Promise; /** * Check if engine is available */ abstract isAvailable(): boolean; /** * Get supported languages */ abstract getSupportedLanguages(): string[]; /** * Process audio file directly */ abstract processFile(file: File, config?: SpeechRecognitionConfig): Promise; /** * Process audio stream */ abstract processStream(stream: NodeJS.ReadableStream, config?: SpeechRecognitionConfig): Promise; /** * Validate configuration */ protected validateConfig(config: SpeechRecognitionConfig): void; /** * Validate audio input configuration */ protected validateAudioConfig(audioConfig: AudioInputConfig): void; /** * Emit error event with proper error handling */ protected emitError(type: SpeechRecognitionErrorType, message: string, originalError?: Error): void; /** * Emit result event with validation */ protected emitResult(result: SpeechRecognitionResult): void; /** * Get default configuration merged with provided config */ protected getConfig(config?: SpeechRecognitionConfig): SpeechRecognitionConfig; /** * Check if currently recording */ get isActive(): boolean; /** * Set recording state */ protected setRecordingState(recording: boolean): void; /** * Clean up resources */ cleanup(): void; /** * Type-safe event emitter methods */ emit(event: K, ...args: Parameters): boolean; on(event: K, listener: SpeechRecognitionEvents[K]): this; once(event: K, listener: SpeechRecognitionEvents[K]): this; off(event: K, listener: SpeechRecognitionEvents[K]): this; } //# sourceMappingURL=base-engine.d.ts.map