import { EdgeInsets } from '../../ui_v2/common/Common';
import { AspectRatio } from '../../utils/geometry/Geometry';
import type { DeepPartial } from '../../utils/utils';
import { PartiallyConstructible } from '../../utils/utils';
/**
Base configuration of the scanning interface’s viewfinder, serving as guidance to the user.
*/
export type BaseViewFinderConfiguration = ViewFinderConfiguration | PermanentViewFinderConfiguration;
/**
Configuration of the scanning interface’s viewfinder, allowing it to be shown or hidden as guidance to the user.
*/
export declare class ViewFinderConfiguration extends PartiallyConstructible {
    readonly _type: 'ViewFinderConfiguration';
    /**
      The visual appearance of the viewfinder.
      */
    style: FinderStyle;
    /**
      The color of the viewfinder overlay.
      
      Default is "?sbColorSurfaceLow"
      */
    overlayColor: string;
    /**
      The viewfinder's aspect ratio.
      */
    aspectRatio: AspectRatio;
    /**
      The minimum insets of the viewfinder.
      */
    minimumInsets: EdgeInsets;
    /**
      The preferred height of the viewfinder.
      
      Default is -1.0
      */
    preferredHeight: number;
    /**
      Whether the viewfinder is visible.
      
      Default is true
      */
    visible: boolean;
    /** @param source {@displayType `DeepPartial<ViewFinderConfiguration>`} */
    constructor(source?: DeepPartial<ViewFinderConfiguration>);
}
/**
Configuration of the scanning interface’s viewfinder, which is always visible to guide the user.
*/
export declare class PermanentViewFinderConfiguration extends PartiallyConstructible {
    readonly _type: 'PermanentViewFinderConfiguration';
    /**
      The visual appearance of the viewfinder.
      */
    style: FinderStyle;
    /**
      The color of the viewfinder overlay.
      
      Default is "?sbColorSurfaceLow"
      */
    overlayColor: string;
    /**
      The viewfinder's aspect ratio.
      */
    aspectRatio: AspectRatio;
    /**
      The minimum insets of the viewfinder.
      */
    minimumInsets: EdgeInsets;
    /**
      The preferred height of the viewfinder.
      
      Default is -1.0
      */
    preferredHeight: number;
    /** @param source {@displayType `DeepPartial<PermanentViewFinderConfiguration>`} */
    constructor(source?: DeepPartial<PermanentViewFinderConfiguration>);
}
/**
The visual appearance of the viewfinder.
*/
export type FinderStyle = FinderCorneredStyle | FinderStrokedStyle;
/**
A variant of the viewfinder displaying only the four corners of the scanning area.
*/
export declare class FinderCorneredStyle extends PartiallyConstructible {
    readonly _type: 'FinderCorneredStyle';
    /**
      The color of the viewfinder corner's outlines.
      
      Default is "#FFFFFFFF"
      */
    strokeColor: string;
    /**
      The width of the viewfinder corner's outlines.
      
      Default is 3.0
      */
    strokeWidth: number;
    /**
      The radius of the viewfinder's corners.
      
      Default is 10.0
      */
    cornerRadius: number;
    /** @param source {@displayType `DeepPartial<FinderCorneredStyle>`} */
    constructor(source?: DeepPartial<FinderCorneredStyle>);
}
/**
A variant of the viewfinder displaying a full outline of the scanning area.
*/
export declare class FinderStrokedStyle extends PartiallyConstructible {
    readonly _type: 'FinderStrokedStyle';
    /**
      The color of the viewfinder corner's outlines.
      
      Default is "#FFFFFFFF"
      */
    strokeColor: string;
    /**
      The width of the viewfinder corner's outlines.
      
      Default is 3.0
      */
    strokeWidth: number;
    /**
      The radius of the viewfinder's corners.
      
      Default is 10.0
      */
    cornerRadius: number;
    /** @param source {@displayType `DeepPartial<FinderStrokedStyle>`} */
    constructor(source?: DeepPartial<FinderStrokedStyle>);
}
