import { NativeModule, requireNativeModule } from "expo"; import type { CallEndReason, CallEvent, ExpoVicallCallManagerEvents, IncomingCall, NativeCall, OutgoingCall, PictureInPictureEvent, PictureInPictureOptions, PictureInPictureVisualState, } from "./ExpoVicallCallManager.types"; declare class ExpoVicallCallManagerModule extends NativeModule { setup(): Promise; displayIncomingCall(call: IncomingCall): Promise; startCall(call: OutgoingCall): Promise; answerCall(callId: string): Promise; endCall(callId: string): Promise; endAllCalls(): Promise; setMuted(callId: string, muted: boolean): Promise; setHeld(callId: string, held: boolean): Promise; setCallActive(callId: string): Promise; reportOutgoingCallConnecting(callId: string): Promise; reportOutgoingCallConnected(callId: string): Promise; reportCallEnded(callId: string, reason: CallEndReason): Promise; updateCallDisplay( callId: string, displayName: string, handle: string | null, hasVideo: boolean | null, ): Promise; getCalls(): Promise; getInitialEvents(): Promise; clearInitialEvents(): Promise; getVoipPushToken(): Promise; canUseFullScreenIntent(): Promise; openFullScreenIntentSettings(): Promise; isPictureInPictureSupported(): Promise; isPictureInPictureActive(): Promise; preparePictureInPicture( videoViewTag: number, localVideoViewTag: number | null, options?: PictureInPictureOptions, ): Promise; refreshPictureInPictureVideoTracks( videoViewTag: number, localVideoViewTag: number | null, ): Promise; setPictureInPictureAutoEnterEnabled(enabled: boolean): Promise; startPictureInPicture(): Promise; stopPictureInPicture(): Promise; updatePictureInPictureState( state: PictureInPictureVisualState, ): Promise; completePictureInPictureRestore(restored: boolean): Promise; disposePictureInPicture(): Promise; getInitialPictureInPictureEvents(): Promise; clearInitialPictureInPictureEvents(): Promise; } export default requireNativeModule( "ExpoVicallCallManager", );