import { type WhisperModelStatus } from './transcribe-whispercpp-resolve.js'; import { ALL_TRANSCRIBE_PROVIDERS, TranscribeError, type TranscribeOptions, type TranscribeProvider, type TranscribeResult } from './transcribe-types.js'; export { TranscribeError, ALL_TRANSCRIBE_PROVIDERS, type TranscribeOptions, type TranscribeProvider, type TranscribeResult, }; export interface TranscribeProviderInfo { id: Exclude; label: string; /** Env keys the operator should fill (secrets + paths). */ envKeys: string[]; /** True when credentials / binary look present. */ configured: boolean; /** Local offline fallback (whisper.cpp). */ fallback?: boolean; /** Current non-secret values from process.env (for path/model fields). */ currentValues?: Record; } export declare function isProviderConfigured(provider: Exclude): boolean; /** Settings list order: currently active → other configured → rest, each by auto priority. */ export declare function sortProvidersForUi(providers: TranscribeProviderInfo[], active: TranscribeProvider): TranscribeProviderInfo[]; export declare function listTranscribeProviders(): { providers: TranscribeProviderInfo[]; active: TranscribeProvider; explicit: string | null; whisperModel: WhisperModelStatus; }; /** Resolve which provider to use given current env. Pure / sync. */ export declare function detectProvider(): TranscribeProvider; /** Operator-facing hint when no STT vendor is configured. */ export declare const STT_NOT_CONFIGURED_HINT = "no STT provider configured \u2014 open Web /settings/stt and set AGIM_STT_* vendor keys (or whisper.cpp)"; /** Chinese hint for IM voice placeholders. */ export declare const STT_NOT_CONFIGURED_HINT_ZH = "\u672A\u914D\u7F6E\u8BED\u97F3\u8F6C\u5199\uFF08\u8BF7\u5728 Web /settings/stt \u586B\u5199 AGIM_STT_* \u5382\u5546\u5BC6\u94A5\uFF09"; /** Configured providers in Auto priority order (for failover). */ export declare function configuredProvidersInAutoOrder(): Exclude[]; /** * Run STT. Explicit `opts.provider` or `AGIM_STT_PROVIDER` pins one vendor * (no failover). whisper.cpp is the built-in local engine — a pin always * attempts local resolve (PATH / ~/.agim/whisper / env), never silently * falls through to Auto. Auto mode fails over across configured vendors. */ export declare function transcribe(filePath: string, opts?: TranscribeOptions): Promise; //# sourceMappingURL=transcribe.d.ts.map