react-native-nitro-screen-recorder
Version:
A library to capture screen recordings with react-native powered by NitroModules.
32 lines • 1.91 kB
TypeScript
import type { HybridObject } from 'react-native-nitro-modules';
import type { CameraDevice, RecorderCameraStyle, PermissionResponse, ScreenRecordingFile, ScreenRecordingEvent, PermissionStatus, RecordingError, BroadcastPickerPresentationEvent } from './types';
/**
* ============================================================================
* NOTES WITH NITRO-MODULES
* ============================================================================
* After any change to this file, you have to run
* `yarn prepare` in the root project folder. This
* uses `npx expo prebuild --clean` under the hood
*
*/
export interface NitroScreenRecorder extends HybridObject<{
ios: 'swift';
android: 'kotlin';
}> {
getCameraPermissionStatus(): PermissionStatus;
getMicrophonePermissionStatus(): PermissionStatus;
requestCameraPermission(): Promise<PermissionResponse>;
requestMicrophonePermission(): Promise<PermissionResponse>;
addScreenRecordingListener(callback: (event: ScreenRecordingEvent) => void): number;
removeScreenRecordingListener(id: number): void;
startInAppRecording(enableMic: boolean, enableCamera: boolean, cameraPreviewStyle: RecorderCameraStyle, cameraDevice: CameraDevice, onRecordingFinished: (file: ScreenRecordingFile) => void): void;
stopInAppRecording(): Promise<ScreenRecordingFile | undefined>;
cancelInAppRecording(): Promise<void>;
startGlobalRecording(enableMic: boolean, onRecordingError: (error: RecordingError) => void): void;
stopGlobalRecording(settledTimeMs: number): Promise<ScreenRecordingFile | undefined>;
retrieveLastGlobalRecording(): ScreenRecordingFile | undefined;
addBroadcastPickerListener(callback: (event: BroadcastPickerPresentationEvent) => void): number;
removeBroadcastPickerListener(id: number): void;
clearRecordingCache(): void;
}
//# sourceMappingURL=NitroScreenRecorder.nitro.d.ts.map