import type { EventSubscription, PermissionResponse } from "expo-modules-core"; import { NativeModule } from "expo"; import type { ExpoSpeechRecognitionNativeEventMap, ExpoSpeechRecognitionNativeEvents, ExpoSpeechRecognitionOptions } from "./ExpoSpeechRecognitionModule.types"; type NativeEventListener = (event: SpeechRecognitionEventMap[keyof SpeechRecognitionEventMap]) => void; declare class ExpoSpeechRecognitionModuleWeb extends NativeModule { _clientListeners: Map; _nativeListeners: Map>; bindEventListener: (eventName: T, ev: SpeechRecognitionEventMap[T]) => void; addListener(eventName: EventName, listener: ExpoSpeechRecognitionNativeEvents[EventName]): EventSubscription; removeAllListeners(eventName: keyof ExpoSpeechRecognitionNativeEventMap): void; start(options: ExpoSpeechRecognitionOptions): void; getStateAsync(): Promise; stop(): void; abort(): void; requestPermissionsAsync(): Promise; getPermissionsAsync(): Promise; getMicrophonePermissionsAsync(): Promise; requestMicrophonePermissionsAsync(): Promise; getSpeechRecognizerPermissionsAsync(): Promise; requestSpeechRecognizerPermissionsAsync(): Promise; getSupportedLocales(): Promise<{ locales: string[]; installedLocales: string[]; }>; getSpeechRecognitionServices(): string[]; getDefaultRecognitionService(): { packageName: string; }; getAssistantService(): { packageName: string; }; supportsOnDeviceRecognition(): boolean; supportsRecording(): boolean; androidTriggerOfflineModelDownload(): Promise<{ status: string; message: string; }>; setCategoryIOS(): void; getAudioSessionCategoryAndOptionsIOS(): { category: string; categoryOptions: string[]; mode: string; }; setAudioSessionActiveIOS(): void; isRecognitionAvailable(): boolean; } export declare const ExpoSpeechRecognitionModule: typeof ExpoSpeechRecognitionModuleWeb; export {}; //# sourceMappingURL=ExpoSpeechRecognitionModule.web.d.ts.map