import { L as LangVoiceClient } from '../client-pNrzz2-q.mjs'; /** * LangChain tools for LangVoice TTS */ interface ToolInput { text: string; voice?: string; language?: string; speed?: number; } interface MultiVoiceInput { text: string; language?: string; speed?: number; } /** * Base class for LangVoice tools * Can be used standalone or with LangChain */ declare abstract class BaseLangVoiceTool { abstract name: string; abstract description: string; protected client: LangVoiceClient; protected outputFile?: string; constructor(options?: { apiKey?: string; outputFile?: string; }); abstract call(input: unknown): Promise; /** * Make this tool compatible with LangChain */ invoke(input: unknown): Promise; } /** * LangChain-compatible tool for text-to-speech generation */ declare class LangVoiceTTSTool extends BaseLangVoiceTool { name: "langvoice_text_to_speech"; description: string; constructor(options?: { apiKey?: string; outputFile?: string; }); call(input: ToolInput | string): Promise; } /** * LangChain-compatible tool for multi-voice speech generation */ declare class LangVoiceMultiVoiceTool extends BaseLangVoiceTool { name: "langvoice_multi_voice_speech"; description: string; call(input: MultiVoiceInput | string): Promise; } /** * LangChain-compatible tool for listing voices */ declare class LangVoiceVoicesTool extends BaseLangVoiceTool { name: "langvoice_list_voices"; description: string; call(): Promise; } /** * LangChain-compatible tool for listing languages */ declare class LangVoiceLanguagesTool extends BaseLangVoiceTool { name: "langvoice_list_languages"; description: string; call(): Promise; } /** * Convenience class for using LangVoice with LangChain * * @example * ```typescript * import { LangVoiceLangChainToolkit } from 'langvoice-sdk/tools'; * * const toolkit = new LangVoiceLangChainToolkit({ apiKey: 'your-langvoice-key' }); * const tools = toolkit.getTools(); * * // Use with LangChain agent * ``` */ declare class LangVoiceLangChainToolkit { private readonly apiKey?; constructor(options?: { apiKey?: string; }); /** * Get all LangVoice tools */ getTools(): BaseLangVoiceTool[]; /** * Get the text-to-speech tool */ getTTSTool(outputFile?: string): LangVoiceTTSTool; /** * Get the multi-voice tool */ getMultiVoiceTool(outputFile?: string): LangVoiceMultiVoiceTool; /** * Get the list voices tool */ getVoicesTool(): LangVoiceVoicesTool; /** * Get the list languages tool */ getLanguagesTool(): LangVoiceLanguagesTool; } /** * Get all LangChain tools */ declare function getAllLangChainTools(apiKey?: string): BaseLangVoiceTool[]; export { LangVoiceLangChainToolkit, LangVoiceLanguagesTool, LangVoiceMultiVoiceTool, LangVoiceTTSTool, LangVoiceVoicesTool, getAllLangChainTools };