import { AudioQuery, VoicevoxConfig } from "./types";
export declare class VoicevoxClient {
    private readonly player;
    private readonly api;
    private readonly defaultSpeaker;
    private readonly defaultSpeedScale;
    private readonly maxSegmentLength;
    constructor(config: VoicevoxConfig);
    /**
     * テキストを音声に変換して再生します
     * @param text 変換するテキスト
     * @param speaker 話者ID（オプション）
     * @param speedScale 再生速度（オプション）
     * @returns 処理結果のメッセージ
     */
    speak(text: string, speaker?: number, speedScale?: number): Promise<string>;
    /**
     * テキストから音声合成用クエリを生成します
     * @param text 変換するテキスト
     * @param speaker 話者ID（オプション）
     * @param speedScale 再生速度（オプション）
     * @returns 音声合成用クエリ
     */
    generateQuery(text: string, speaker?: number, speedScale?: number): Promise<AudioQuery>;
    /**
     * テキストから直接音声ファイルを生成します
     * @param textOrQuery テキストまたは音声合成用クエリ
     * @param outputPath 出力ファイルパス（オプション、省略時は一時ファイル）
     * @param speaker 話者ID（オプション）
     * @param speedScale 再生速度（オプション）
     * @returns 生成した音声ファイルのパス
     */
    generateAudioFile(textOrQuery: string | AudioQuery, outputPath?: string, speaker?: number, speedScale?: number): Promise<string>;
    /**
     * テキストを音声ファイル生成キューに追加します
     * @param text テキスト
     * @param speaker 話者ID（オプション）
     * @param speedScale 再生速度（オプション）
     * @returns 処理結果のメッセージ
     */
    enqueueAudioGeneration(text: string, speaker?: number, speedScale?: number): Promise<string>;
    /**
     * 音声合成用クエリを音声ファイル生成キューに追加します
     * @param query 音声合成用クエリ
     * @param speaker 話者ID（オプション）
     * @param speedScale 再生速度（オプション）
     * @returns 処理結果のメッセージ
     */
    enqueueAudioGeneration(query: AudioQuery, speaker?: number, speedScale?: number): Promise<string>;
    /**
     * 話者IDを取得（指定がない場合はデフォルト値を使用）
     * @private
     */
    private getSpeakerId;
    /**
     * 再生速度を取得（指定がない場合はデフォルト値を使用）
     * @private
     */
    private getSpeedScale;
    private validateConfig;
}
export * from "./types";
//# sourceMappingURL=index.d.ts.map