import type { DeepPartial } from '../../utils';
import { PartiallyConstructible } from '../../utils';
import type { CameraPreviewMode, OrientationLockMode } from '../common/Common';
/**
Determines which camera module to use on start-up.

- `FRONT`:
   Use the front camera.
- `BACK`:
   Use the default back camera.
- `BACK_WIDEST`:
   Use the back camera with the widest available angle. iOS only.
*/
export type CameraModule = 'FRONT' | 'BACK' | 'BACK_WIDEST';
/**
Configuration of the camera settings to be used while scanning.
*/
export declare class CameraConfiguration extends PartiallyConstructible {
    /**
      Determines which camera module to use on start-up.
      Default is BACK
      */
    cameraModule: CameraModule;
    /**
      The zoom steps available to the user.
      */
    zoomSteps: number[];
    /**
      The default zoom factor on start-up.
      Default is 1.0
      */
    defaultZoomFactor: number;
    /**
      Determines whether the flash is enabled on start-up.
      Default is false
      */
    flashEnabled: boolean;
    /**
      Determines whether to lock the focus at the minimum possible distance (device-specific).
      Default is false
      */
    minFocusDistanceLock: boolean;
    /**
      Determines whether touch-to-focus is enabled or not. Android only.
      Default is false
      */
    touchToFocusEnabled: boolean;
    /**
      Determines whether pinch-to-zoom is enabled or not.
      Default is true
      */
    pinchToZoomEnabled: boolean;
    /**
      Determines which mode to use when orientation should be locked to landscape or portrait.
      Default is NONE
      */
    orientationLockMode: OrientationLockMode;
    /**
      Determines which camera preview mode to use.
      Default is FILL_IN
      */
    cameraPreviewMode: CameraPreviewMode;
    /** @param source {@displayType `DeepPartial<CameraConfiguration>`} */
    constructor(source?: DeepPartial<CameraConfiguration>);
}
