/** Stable business error codes shared by the Host and browser client. */ export declare const EARS_ERROR_CODES: { readonly whisperNativeUnavailable: 'whisper.nativeUnavailable'; readonly whisperRestartRequired: 'whisper.restartRequired'; readonly whisperModelUnknown: 'whisper.modelUnknown'; readonly whisperModelUnverified: 'whisper.modelUnverified'; readonly whisperModelNotDownloaded: 'whisper.modelNotDownloaded'; readonly whisperStateQueryFailed: 'whisper.stateQueryFailed'; readonly whisperAlreadyDownloading: 'whisper.alreadyDownloading'; readonly whisperDownloadFailed: 'whisper.downloadFailed'; readonly whisperDownloadCleanupFailed: 'whisper.downloadCleanupFailed'; readonly whisperCancelCleanupFailed: 'whisper.cancelCleanupFailed'; readonly whisperStillDownloading: 'whisper.stillDownloading'; readonly whisperDeleteFailed: 'whisper.deleteFailed'; readonly cloudModelsTimedOut: 'cloudModels.timedOut'; readonly cloudModelsHttpFailed: 'cloudModels.httpFailed'; readonly cloudModelsInvalidJson: 'cloudModels.invalidJson'; readonly cloudModelsNoModels: 'cloudModels.noModels'; readonly cloudModelsTooLarge: 'cloudModels.tooLarge'; readonly cloudModelsListFailed: 'cloudModels.listFailed'; readonly backendWebSpeechUnavailable: 'backend.webSpeechUnavailable'; readonly backendLocalUnavailable: 'backend.localUnavailable'; readonly backendCloudUnavailable: 'backend.cloudUnavailable'; readonly asrModelNotConfigured: 'asr.modelNotConfigured'; readonly asrModelUnsupported: 'asr.modelUnsupported'; readonly asrModelNotFound: 'asr.modelNotFound'; readonly asrApiKeyNotConfigured: 'asr.apiKeyNotConfigured'; readonly asrEndpointInvalid: 'asr.endpointInvalid'; readonly asrEndpointHasCredentials: 'asr.endpointHasCredentials'; readonly asrAudioEmpty: 'asr.audioEmpty'; readonly asrAudioInvalid: 'asr.audioInvalid'; readonly asrAudioTooLarge: 'asr.audioTooLarge'; readonly asrMimeTypeMismatch: 'asr.mimeTypeMismatch'; readonly asrRequestTimedOut: 'asr.requestTimedOut'; readonly asrHttpFailed: 'asr.httpFailed'; readonly asrInvalidResponse: 'asr.invalidResponse'; readonly asrNoTranscript: 'asr.noTranscript'; readonly asrResponseTooLarge: 'asr.responseTooLarge'; readonly asrUnexpected: 'asr.unexpected'; readonly asrProviderUnknown: 'asr.providerUnknown'; readonly asrServiceUnavailable: 'asr.serviceUnavailable'; readonly asrUnsupportedBackend: 'asr.unsupportedBackend'; readonly browserMediaUnavailable: 'browser.mediaUnavailable'; readonly polishTimedOut: 'polish.timedOut'; readonly polishNoText: 'polish.noText'; readonly polishTooLarge: 'polish.tooLarge'; readonly polishUnexpected: 'polish.unexpected'; readonly polishRouteFailed: 'polish.routeFailed'; readonly polishSettingsUnavailable: 'polish.settingsUnavailable'; }; export type EarsErrorCode = (typeof EARS_ERROR_CODES)[keyof typeof EARS_ERROR_CODES]; export type EarsErrorParams = Readonly>; export declare function sanitizeEarsErrorText(value: string): string; export declare function sanitizeEarsErrorParams(params: EarsErrorParams | undefined): EarsErrorParams | undefined; export declare class EarsError extends Error { readonly code: EarsErrorCode; readonly params: EarsErrorParams | undefined; constructor(code: EarsErrorCode, message: string, params?: EarsErrorParams); } export declare function earsErrorCode(error: unknown): EarsErrorCode | undefined; export declare function earsErrorParams(error: unknown): EarsErrorParams | undefined; export declare function isEarsErrorCode(value: unknown): value is EarsErrorCode;