import { VoicevoxApi } from "../api";
import { AudioQuery } from "../types";
import { QueueItem, QueueItemStatus } from "./types";
import { AudioFileManager } from "./file-manager";
/**
 * 音声生成クラス
 * 音声合成処理を担当
 */
export declare class AudioGenerator {
    private api;
    private fileManager;
    constructor(apiInstance: VoicevoxApi, fileManager: AudioFileManager);
    /**
     * テキストから音声クエリを生成
     * @param text テキスト
     * @param speaker 話者ID
     * @returns 音声合成クエリ
     */
    generateQuery(text: string, speaker: number): Promise<AudioQuery>;
    /**
     * テキストから音声データを生成してアイテムに設定
     * @param item 処理対象のキューアイテム
     * @param updateStatus ステータス更新コールバック関数
     */
    generateAudio(item: QueueItem, updateStatus: (item: QueueItem, status: QueueItemStatus) => void): Promise<void>;
    /**
     * クエリから音声データを生成してアイテムに設定
     * @param item 処理対象のキューアイテム (queryが必須)
     * @param updateStatus ステータス更新コールバック関数
     */
    generateAudioFromQuery(item: QueueItem, updateStatus: (item: QueueItem, status: QueueItemStatus) => void): Promise<void>;
}
//# sourceMappingURL=audio-generator.d.ts.map