import { Voice, NarrationTiming } from '../types/index.js';
import { KumikiError } from '../utils/errors.js';
export declare class GeminiTTSError extends KumikiError {
    constructor(message: string, details?: unknown);
}
export interface GenerateSpeechParams {
    text: string;
    voice?: Voice;
    outputPath: string;
}
export interface GenerateSpeechResult {
    audioPath: string;
    duration: number;
}
export declare class GeminiTTSService {
    private genAI;
    private initialized;
    private initialize;
    generateSpeech(params: GenerateSpeechParams): Promise<GenerateSpeechResult>;
    private prepareVoiceConfig;
    private extractAudioData;
    private convertPCMtoWAV;
    private calculateAudioDuration;
    /**
     * Apply timing effects to audio (delay, fade in/out)
     * This will be implemented later with FFmpeg integration
     */
    applyTimingEffects(audioPath: string, _timing: NarrationTiming, outputPath: string): Promise<void>;
}
export declare const geminiTTSService: GeminiTTSService;
//# sourceMappingURL=gemini-tts.d.ts.map