/**
 * GPT-SoVITS SDK 客户端实现
 */
import { GPTSoVITSClientOptions, TTSRequestOptions, TTSResponse, ModelsResponse, ReferenceAudiosResponse, EmotionAudiosResponse, EmotionAudiosQueryOptions, HealthResponse, RootResponse, APIResponse } from './types';
/**
 * GPT-SoVITS API 客户端
 */
export declare class GPTSoVITSClient {
    private options;
    private controller;
    /**
     * 创建GPT-SoVITS客户端实例
     * @param options 客户端配置选项
     */
    constructor(options?: GPTSoVITSClientOptions);
    /**
     * 记录调试信息
     * @param message 消息
     * @param data 数据
     */
    private log;
    /**
     * 构建完整URL
     * @param endpoint API端点
     * @param params 查询参数
     * @returns 完整URL
     */
    private buildUrl;
    /**
     * 发送HTTP请求
     * @param endpoint API端点
     * @param options 请求选项
     * @returns 响应数据
     */
    private request;
    /**
     * 获取API根信息
     * @returns API根信息
     */
    getRoot(): Promise<RootResponse>;
    /**
     * 获取API健康状态
     * @returns 健康状态信息
     */
    getHealth(): Promise<HealthResponse>;
    /**
     * 获取可用模型列表
     * @returns 模型列表
     */
    getModels(): Promise<APIResponse<ModelsResponse>>;
    /**
     * 获取参考音频列表
     * @param subdir 子目录名称
     * @returns 参考音频列表
     */
    getReferenceAudios(subdir?: string): Promise<APIResponse<ReferenceAudiosResponse>>;
    /**
     * 获取情感音频列表
     * @param options 查询选项
     * @returns 情感音频列表
     */
    getEmotionAudios(options?: EmotionAudiosQueryOptions): Promise<APIResponse<EmotionAudiosResponse>>;
    /**
     * 获取情感参考音频列表
     * @returns 情感参考音频列表
     */
    getEmotionReferenceAudios(): Promise<APIResponse<EmotionAudiosResponse>>;
    /**
     * 规范化选项，支持驼峰命名法和下划线命名法
     * @param options 原始选项
     * @returns 规范化后的选项
     */
    private normalizeOptions;
    /**
     * 文本转语音
     * @param options TTS选项
     * @returns TTS响应
     */
    textToSpeech(options: TTSRequestOptions): Promise<TTSResponse>;
    /**
     * 文本转语音（直接返回音频数据）
     * @param options TTS选项
     * @param outputPath 可选的输出文件路径
     * @returns 音频数据或文件路径
     */
    textToSpeechDirect(options: TTSRequestOptions, outputPath?: string): Promise<ArrayBuffer | string>;
    /**
     * 设置GPT模型
     * @param modelPath 模型路径
     * @returns 响应结果
     */
    setGptModel(modelPath: string): Promise<{
        status: string;
    }>;
    /**
     * 设置SoVITS模型
     * @param modelPath 模型路径
     * @returns 响应结果
     */
    setSovitsModel(modelPath: string): Promise<{
        status: string;
    }>;
    /**
     * 获取生成的音频文件
     * @param audioName 音频文件名
     * @param outputPath 可选的输出文件路径
     * @returns 音频数据或文件路径
     */
    getAudio(audioName: string, outputPath?: string): Promise<ArrayBuffer | string>;
    /**
     * 取消所有正在进行的请求
     */
    abort(): void;
}
