import type { TTSConfig, TTSAutoMode, TTSResultWithTracking } from './types.js';
export interface ChannelAudioFormat {
    format: string;
    voiceCompatible: boolean;
}
export declare function getChannelOutputFormat(channel?: string): ChannelAudioFormat;
export declare function getSupportedChannels(): string[];
export declare function isVoiceCompatibleChannel(channel: string): boolean;
export interface TTSContext {
    channel?: string;
    chatId?: string;
}
export interface TTSDecision {
    useTTS: boolean;
    reason: string;
}
export declare function shouldUseTTS(config: TTSConfig | undefined, inboundAudio?: boolean): TTSDecision;
export declare class TTSService {
    private config;
    constructor(config: TTSConfig);
    isEnabled(): boolean;
    getTriggerMode(): TTSAutoMode;
    speak(text: string, context?: TTSContext): Promise<TTSResultWithTracking>;
}
