import type { HybridObject } from 'react-native-nitro-modules'; import type { CameraOrientation } from '../common-types/CameraOrientation'; import type { OrientationSource } from '../common-types/OrientationSource'; /** * The {@linkcode OrientationManager} allows listening to * {@linkcode CameraOrientation} changes, like device- or interface- * orientation. */ export interface OrientationManager extends HybridObject<{ ios: 'swift'; android: 'kotlin'; }> { /** * Represents the {@linkcode OrientationSource} this {@linkcode OrientationManager} * is tracking. */ readonly source: OrientationSource; /** * Get the current {@linkcode CameraOrientation}, or `undefined` if no * orientation is known. */ readonly currentOrientation: CameraOrientation | undefined; /** * Starts listening to orientation changes. */ startOrientationUpdates(onChanged: (orientation: CameraOrientation) => void): void; /** * Stops listening to orientation changes. */ stopOrientationUpdates(): void; }