/**
 * Voice note transcription using local Whisper model.
 * Uses @huggingface/transformers (pure JS/WASM) — no native deps, no API keys.
 * Model (~75MB) is downloaded on first use and cached locally.
 */
/** Optional callback for model download progress. */
export type ProgressCallback = (info: {
    status: string;
    progress?: number;
    file?: string;
}) => void;
/** Set a callback to receive model download progress updates. */
export declare function setProgressCallback(cb: ProgressCallback | null): void;
/**
 * Resample audio from one sample rate to another using linear interpolation.
 */
export declare function resample(audio: Float32Array, fromRate: number, toRate: number): Float32Array;
/**
 * Downmix multi-channel audio to mono by averaging all channels.
 */
export declare function downmixToMono(channelData: Float32Array[]): Float32Array;
/**
 * Decode OGG Opus audio buffer to 16kHz mono PCM Float32Array.
 */
export declare function decodeOggOpus(buffer: Uint8Array): Promise<Float32Array>;
/** Whether the model has been loaded already. */
export declare function isModelLoaded(): boolean;
/**
 * Transcribe a voice message from its Telegram file URL.
 * Downloads the OGG Opus file, decodes to PCM, and runs Whisper locally.
 */
export declare function transcribeVoice(fileUrl: string): Promise<string>;
//# sourceMappingURL=voice-transcriber.d.ts.map