import { ToolResult } from '../types/index.js';
export interface AudioInfo {
    filename: string;
    format: string;
    duration?: number;
    sampleRate?: number;
    channels?: number;
    bitrate?: number;
    size: string;
}
export interface TranscriptionResult {
    text: string;
    language?: string;
    confidence?: number;
    segments?: TranscriptionSegment[];
}
export interface TranscriptionSegment {
    start: number;
    end: number;
    text: string;
}
/**
 * Audio Tool for processing and analyzing audio files
 * Supports transcription via external APIs and local analysis
 */
export declare class AudioTool {
    private readonly supportedFormats;
    private readonly maxFileSizeMB;
    private vfs;
    /**
     * Get audio file information
     */
    getInfo(filePath: string): Promise<ToolResult>;
    /**
     * Parse WAV file header
     */
    private parseWavHeader;
    /**
     * Parse MP3 file header (basic)
     */
    private parseMp3Header;
    /**
     * Transcribe audio using Whisper API (if available)
     */
    transcribe(filePath: string, options?: {
        language?: string;
        prompt?: string;
    }): Promise<ToolResult>;
    /**
     * Transcribe using OpenAI Whisper API
     */
    private transcribeWithWhisper;
    /**
     * Convert audio to base64
     */
    toBase64(filePath: string): Promise<ToolResult>;
    /**
     * List audio files in directory
     */
    listAudioFiles(dirPath?: string): Promise<ToolResult>;
    /**
     * Check if file is an audio file
     */
    isAudio(filePath: string): boolean;
    /**
     * Format file size
     */
    private formatSize;
    /**
     * Format audio info for display
     */
    private formatAudioInfo;
    /**
     * Format transcription for display
     */
    private formatTranscription;
    /**
     * Format time in MM:SS format
     */
    private formatTime;
}
