/**
 * Google Cloud Speech-to-Text Handler
 *
 * Implementation of STT using Google Cloud Speech-to-Text API.
 *
 * @module voice/providers/GoogleSTT
 */
import type { TTSAudioFormat, STTCredentials, STTHandler, STTLanguage, STTOptions, STTResult } from "../../types/index.js";
/**
 * Google Cloud Speech-to-Text Handler
 *
 * Supports transcription with speaker diarization, word timestamps, and punctuation.
 *
 * @see https://cloud.google.com/speech-to-text/docs
 */
export declare class GoogleSTT implements STTHandler {
    private readonly apiKey;
    private readonly credentialsPath;
    private readonly baseUrl;
    /**
     * Maximum audio duration in seconds for the synchronous recognize endpoint.
     * For longer audio, use the async longrunningrecognize endpoint (not yet implemented).
     */
    readonly maxAudioDuration = 60;
    /**
     * True streaming requires gRPC (not implemented). `transcribeStream()` on
     * the SDK streams this handler through the generic chunked adapter.
     */
    readonly supportsStreaming = false;
    /**
     * @param apiKeyOrCredentials - The `credentials.stt.google` slice
     *   (`apiKey`, `credentialsPath`), or an API key (the original positional
     *   form). The environment fills whatever is left out.
     * @param credentialsPath - Service-account file, positional form only.
     */
    constructor(apiKeyOrCredentials?: string | STTCredentials["google"], credentialsPath?: string);
    isConfigured(): boolean;
    getSupportedFormats(): TTSAudioFormat[];
    getSupportedLanguages(): Promise<STTLanguage[]>;
    transcribe(audio: Buffer | ArrayBuffer, options?: STTOptions): Promise<STTResult>;
    /**
     * Get encoding string for audio format
     */
    private getEncoding;
    /**
     * Parse duration string (e.g., "1.5s") to seconds
     */
    private parseDuration;
    /**
     * Calculate average confidence from results
     */
    private calculateAverageConfidence;
    /**
     * Get access token from service account credentials.
     *
     * M3: previously caught all errors and returned `""`, which then caused
     * a silent 401 from the Google API and a confusing downstream HTTP error
     * with no trace of the original auth failure. Now rethrows as STTError so
     * the caller sees the auth root cause.
     */
    private getAccessToken;
}
