export type TranscribeProvider = 'openai' | 'whispercpp' | 'none';
export interface TranscribeResult {
    text: string;
    provider: Exclude<TranscribeProvider, 'none'>;
    /** Wall-clock duration of the transcription call (ms). Useful for logging
     *  cost / latency without re-instrumenting at every call site. */
    elapsedMs: number;
}
export interface TranscribeOptions {
    /** ISO 639-1 hint (e.g. 'zh', 'en'). Whisper auto-detects but a hint
     *  improves short-clip accuracy. */
    language?: string;
    /** Per-call provider override (mostly for tests). */
    provider?: TranscribeProvider;
}
export declare class TranscribeError extends Error {
    reason: string;
    provider: TranscribeProvider;
    constructor(reason: string, provider: TranscribeProvider);
}
/** Resolve which provider to use given current env. Pure / sync so callers
 *  can quickly check "is anything configured" without doing IO. */
export declare function detectProvider(): TranscribeProvider;
export declare function transcribe(filePath: string, opts?: TranscribeOptions): Promise<TranscribeResult>;
//# sourceMappingURL=transcribe.d.ts.map