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;
}
