import type { DeepPartial } from '../../utils';
import { PartiallyConstructible } from '../../utils';
import { BadgeStyle, PolygonStyle, StyledText } from '../common/Common';
/**
Configuration of the overlay polygon displayed on top of a barcode in the camera preview.
*/
export declare class ArOverlayPolygonConfiguration extends PartiallyConstructible {
    /**
      Control the visibility of the overlay polygon.
      Default is true
      */
    visible: boolean;
    /**
      Appearance of the overlay polygon when a barcode is not selected.
      */
    deselected: PolygonStyle;
    /**
      Appearance of the overlay polygon after a barcode has been selected.
      */
    selected: PolygonStyle;
    /** @param source {@displayType `DeepPartial<ArOverlayPolygonConfiguration>`} */
    constructor(source?: DeepPartial<ArOverlayPolygonConfiguration>);
}
/**
Where to display the barcode info box in the camera preview.

- `DISABLED`:
   Don't display any barcode info.
- `STACKED`:
   Display the barcode info box in the center of the overlay polygon.
- `BELOW`:
   Display the barcode info box below the overlay polygon.
- `ABOVE`:
   Display the barcode info box above the overlay polygon.
*/
export type BarcodeItemInfoPosition = 'DISABLED' | 'STACKED' | 'BELOW' | 'ABOVE';
/**
Configuration of the barcode info box displayed in the camera preview.
*/
export declare class BarcodeItemConfiguration extends PartiallyConstructible {
    /**
      Control the visibility of the barcode image in the info box.
      Default is true
      */
    imageVisible: boolean;
    /**
      Configuration of the text displaying a barcode's value in the info box when the barcode has been selected.
      */
    titleSelected: StyledText;
    /**
      Configuration of the text displaying a barcode's symbology in the info box when the barcode has been selected.
      */
    subtitleSelected: StyledText;
    /**
      Configuration of the text displaying a barcode's value in the info box when the barcode is yet to be selected.
      */
    titleDeselected: StyledText;
    /**
      Configuration of the text displaying a barcode's symbology in the info box when the barcode is yet to be selected.
      */
    subtitleDeselected: StyledText;
    /**
      Appearance of the barcode info box's background when a barcode has been selected.
      */
    backgroundSelected: PolygonStyle;
    /**
      Appearance of the barcode info box's background when a barcode is yet to be selected.
      */
    backgroundDeselected: PolygonStyle;
    /** @param source {@displayType `DeepPartial<BarcodeItemConfiguration>`} */
    constructor(source?: DeepPartial<BarcodeItemConfiguration>);
}
/**
Configuration of the AR overlay displayed on top of barcodes in the camera preview.
*/
export declare class ArOverlayGeneralConfiguration extends PartiallyConstructible {
    /**
      Control the visibility of the user guidance.
      Default is false
      */
    visible: boolean;
    /**
      Parameters of the counter badge appearance e.g. color of background its stroke and text/icon color.
      */
    counterBadge: BadgeStyle;
    /**
      If enabled, the scanner will always immediately scan a barcode in the viewfinder or the camera view. The overlay will mark the scanned barcodes and stays above them.
      Default is false
      */
    automaticSelectionEnabled: boolean;
    /**
      Where to display the barcode info box in the camera preview.
      Default is BELOW
      */
    barcodeItemInfoPosition: BarcodeItemInfoPosition;
    /**
      Configuration of the overlay polygon displayed on top of a barcode in the camera preview.
      */
    polygon: ArOverlayPolygonConfiguration;
    /**
      Configuration of the barcode info box displayed in the camera preview.
      */
    barcodeItemConfiguration: BarcodeItemConfiguration;
    /** @param source {@displayType `DeepPartial<ArOverlayGeneralConfiguration>`} */
    constructor(source?: DeepPartial<ArOverlayGeneralConfiguration>);
}
/**
Configuration of the overlay polygon displayed on top of a barcode in the camera preview.
*/
export declare class FindAndPickArOverlayPolygonConfiguration extends PartiallyConstructible {
    /**
      Control the visibility of the overlay polygon.
      Default is true
      */
    visible: boolean;
    /**
      Appearance of the overlay polygon when a barcode is partially scanned.
      */
    partiallyScanned: PolygonStyle;
    /**
      Appearance of the overlay polygon when a barcode is rejected.
      */
    rejected: PolygonStyle;
    /**
      Appearance of the overlay polygon when a barcode is completed.
      */
    completed: PolygonStyle;
    /** @param source {@displayType `DeepPartial<FindAndPickArOverlayPolygonConfiguration>`} */
    constructor(source?: DeepPartial<FindAndPickArOverlayPolygonConfiguration>);
}
/**
Configuration of the round badge on find and pick ar layer.
*/
export declare class FindAndPickBadgeConfiguration extends PartiallyConstructible {
    /**
      Appearance of the badge when a barcode is partially scanned.
      */
    partiallyScanned: BadgeStyle;
    /**
      Appearance of the badge when a barcode is rejected.
      */
    rejected: BadgeStyle;
    /**
      Appearance of the badge when a barcode is completed.
      */
    completed: BadgeStyle;
    /** @param source {@displayType `DeepPartial<FindAndPickBadgeConfiguration>`} */
    constructor(source?: DeepPartial<FindAndPickBadgeConfiguration>);
}
/**
Configuration of the AR overlay.
*/
export declare class ArOverlayFindAndPickConfiguration extends PartiallyConstructible {
    /**
      Control the visibility of the user guidance.
      Default is false
      */
    visible: boolean;
    /**
      If enabled, the scanner will always immediately scan a barcode in the viewfinder or the camera view. The overlay will mark the scanned barcodes and stays above them.
      Default is true
      */
    automaticSelectionEnabled: boolean;
    /**
      Configuration of the overlay polygon displayed on top of a barcode in the camera preview.
      */
    polygon: FindAndPickArOverlayPolygonConfiguration;
    /**
      Configuration of the round badge on find and pick ar layer.
      */
    badge: FindAndPickBadgeConfiguration;
    /** @param source {@displayType `DeepPartial<ArOverlayFindAndPickConfiguration>`} */
    constructor(source?: DeepPartial<ArOverlayFindAndPickConfiguration>);
}
