import { OpenAIToolDefinition as OpenAIToolDefinition$1, OpenAIToolCall as OpenAIToolCall$1 } from './types.mjs'; /** * OpenAI function calling tools for LangVoice */ type OpenAIToolDefinition = OpenAIToolDefinition$1; type OpenAIToolCall = OpenAIToolCall$1; interface ToolCallResult { success: boolean; audioBase64?: string; duration?: number; charactersProcessed?: number; voices?: Array<{ id: string; name: string; }>; languages?: Array<{ id: string; name: string; }>; error?: string; } declare const LANGVOICE_TTS_TOOL: OpenAIToolDefinition; declare const LANGVOICE_MULTI_VOICE_TOOL: OpenAIToolDefinition; declare const LANGVOICE_LIST_VOICES_TOOL: OpenAIToolDefinition; declare const LANGVOICE_LIST_LANGUAGES_TOOL: OpenAIToolDefinition; /** * Get all LangVoice tools formatted for OpenAI function calling */ declare function getOpenAITools(): OpenAIToolDefinition[]; /** * Handle an OpenAI tool call for LangVoice functions */ declare function handleOpenAIToolCall(toolName: string, args: Record, apiKey?: string): Promise; /** * Helper class for integrating LangVoice with OpenAI function calling * * @example * ```typescript * import OpenAI from 'openai'; * import { LangVoiceOpenAITools } from 'langvoice-sdk/tools'; * * const openai = new OpenAI(); * const langvoice = new LangVoiceOpenAITools({ apiKey: 'your-langvoice-key' }); * * const response = await openai.chat.completions.create({ * model: 'gpt-4', * messages: [{ role: 'user', content: 'Generate speech saying hello' }], * tools: langvoice.getTools(), * }); * * if (response.choices[0].message.tool_calls) { * for (const toolCall of response.choices[0].message.tool_calls) { * const result = await langvoice.handleCall(toolCall); * console.log(result); * } * } * ``` */ declare class LangVoiceOpenAITools { private readonly client; constructor(options?: { apiKey?: string; }); /** * Get tool definitions for OpenAI */ getTools(): OpenAIToolDefinition[]; /** * Handle an OpenAI tool call object */ handleCall(toolCall: OpenAIToolCall): Promise; /** * Save audio from a tool call result to a file (Node.js only) */ saveAudioFromResult(result: ToolCallResult, outputPath: string): Promise; /** * Get audio buffer from result */ getAudioBuffer(result: ToolCallResult): Buffer | null; } export { LANGVOICE_LIST_LANGUAGES_TOOL, LANGVOICE_LIST_VOICES_TOOL, LANGVOICE_MULTI_VOICE_TOOL, LANGVOICE_TTS_TOOL, LangVoiceOpenAITools, type OpenAIToolCall, type OpenAIToolDefinition, type ToolCallResult, getOpenAITools, handleOpenAIToolCall };