import type { DeepPartial } from '../../utils';
import { PartiallyConstructible } from '../../utils';
import { BarcodeRecognizerConfiguration } from '../barcode/BarcodeRecognizerConfiguration';
import { BarcodeTextLocalization } from '../barcode/BarcodeTextLocalization';
import { BarcodeUseCase } from '../barcode/BarcodeUseCase';
import { ActionBarConfiguration } from '../common/ActionBarConfiguration';
import { CameraConfiguration } from '../common/CameraConfiguration';
import { CameraPermissionScreen } from '../common/CameraPermission';
import { Sound, Palette, Timeouts, Vibration } from '../common/Common';
import { TopBarConfiguration } from '../common/TopBarConfiguration';
import { UserGuidanceConfiguration } from '../common/UserGuidanceConfiguration';
import { ViewFinderConfiguration } from '../common/ViewFinderConfiguration';
/**
Configuration of the barcode scanner screen.
*/
export declare class BarcodeScannerConfiguration extends PartiallyConstructible {
    /**
      Version number of the configuration object.
      Default is "1.0"
      */
    readonly version: string;
    /**
      The configuration object should be applied for this screen.
      Default is "BarcodeScanner"
      */
    readonly screen: string;
    /**
      Define the screen's base color values from which other colors are derived.
      */
    palette: Palette;
    /**
      Configuration of the all strings for barcode scanner.
      */
    localization: BarcodeTextLocalization;
    /**
      Color of the screen's background.
      Default is "?sbColorSurfaceLow"
      */
    backgroundColor: string;
    /**
      Configuration of the top bar.
      */
    topBar: TopBarConfiguration;
    /**
      Configuration of the action bar.
      */
    actionBar: ActionBarConfiguration;
    /**
      Configuration of the view finder.
      */
    viewFinder: ViewFinderConfiguration;
    /**
      Configuration of the text hint guiding users to move the view finder over a barcode.
      */
    userGuidance: UserGuidanceConfiguration;
    /**
      Configuration of the dialog for requesting camera permissions.
      */
    cameraPermission: CameraPermissionScreen;
    /**
      Configuration of the camera behavior.
      */
    cameraConfiguration: CameraConfiguration;
    /**
      Configuration of the scanning behavior.
      */
    recognizerConfiguration: BarcodeRecognizerConfiguration;
    /**
      Configuration of the barcode scanner screen's behavior.
      */
    useCase: BarcodeUseCase;
    /**
      Configuration of the scan confirmation sound.
      */
    sound: Sound;
    /**
      Configuration of the scan scan confirmation vibration.
      */
    vibration: Vibration;
    /**
      Configuration of timeouts.
      */
    timeouts: Timeouts;
    /** @param source {@displayType `DeepPartial<BarcodeScannerConfiguration>`} */
    constructor(source?: DeepPartial<BarcodeScannerConfiguration>);
}
