/**
 * Azure Cognitive Services Text-to-Speech Handler
 *
 * Implementation of TTS using Azure Speech Services.
 *
 * @module voice/providers/AzureTTS
 */
import type { TTSHandler, TTSOptions, TTSResult, TTSVoice } from "../../types/index.js";
/**
 * Azure Cognitive Services Text-to-Speech Handler
 *
 * Supports neural voices with SSML and custom voice styles.
 *
 * @see https://docs.microsoft.com/azure/cognitive-services/speech-service/
 */
export declare class AzureTTS implements TTSHandler {
    private readonly apiKey;
    private readonly region;
    private voicesCache;
    private static readonly CACHE_TTL_MS;
    /**
     * Maximum text length (10000 characters for Azure)
     */
    readonly maxTextLength = 10000;
    constructor(apiKey?: string, region?: string);
    isConfigured(): boolean;
    getVoices(languageCode?: string): Promise<TTSVoice[]>;
    synthesize(text: string, options?: TTSOptions): Promise<TTSResult>;
    /**
     * Build SSML from text and options
     */
    private buildSSML;
    /**
     * Extract language from voice name
     */
    private extractLanguage;
    /**
     * Escape XML special characters
     */
    private escapeXml;
    /**
     * Map gender string to standard type
     */
    private mapGender;
    /**
     * Map TTSAudioFormat to Azure output format
     */
    private mapFormat;
    /**
     * Get sample rate from format string
     */
    private getSampleRate;
    /**
     * Map the Azure outputFormat string back to a canonical TTSAudioFormat so
     * TTSResult.format matches what the API actually returned (mapFormat() can
     * coerce unsupported requests to mp3).
     */
    private effectiveFormat;
}
