import { BaseSpeechRecognitionEngine } from './base-engine';
import { SpeechRecognitionConfig, SpeechRecognitionResult, AudioInputConfig } from '../types';
/**
 * Google Cloud Speech-to-Text engine
 */
export declare class GoogleCloudEngine extends BaseSpeechRecognitionEngine {
    private client;
    private apiKey;
    private projectId;
    private streamingRecognizeStream;
    constructor(apiKey?: string, projectId?: string);
    /**
     * Check if Google Cloud Speech is available
     */
    isAvailable(): boolean;
    /**
     * Get supported languages
     */
    getSupportedLanguages(): string[];
    /**
     * Initialize Google Cloud Speech client
     */
    private initializeClient;
    /**
     * Start speech recognition
     */
    start(audioConfig: AudioInputConfig, recognitionConfig?: SpeechRecognitionConfig): Promise<void>;
    /**
     * Start streaming recognition for microphone input
     */
    private startStreamingRecognition;
    /**
     * Process audio file
     */
    private processAudioFile;
    /**
     * Process audio stream
     */
    private processAudioStream;
    /**
     * Build Google Cloud Speech configuration
     */
    private buildSpeechConfig;
    /**
     * Map encoding format to Google Cloud format
     */
    private mapEncodingFormat;
    /**
     * 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[]>;
    /**
     * Set API credentials
     */
    setCredentials(apiKey: string, projectId?: string): void;
    /**
     * Clean up resources
     */
    protected cleanup(): void;
}
//# sourceMappingURL=google-cloud-engine.d.ts.map