import type { DeepPartial } from '../../utils';
import { PartiallyConstructible } from '../../utils';
import { BarButtonConfiguration, ButtonConfiguration, IconButton, PopupMenuItem, RoundButton, StyledText } from '../common/Common';
import { ScanbotAlertDialog } from '../common/ScanbotAlertDialog';
import { UserGuidanceConfiguration } from '../common/UserGuidanceConfiguration';
/**
Configuration of the bottom bar for the review screen.
*/
export declare class ReviewBottomBarConfiguration extends PartiallyConstructible {
    /**
      Configuration of the 'add' button, located in the bottom bar.
      */
    addButton: BarButtonConfiguration;
    /**
      Configuration of the 'retake' button, located in the bottom bar.
      */
    retakeButton: BarButtonConfiguration;
    /**
      Configuration of the 'crop' button, located in the bottom bar.
      */
    cropButton: BarButtonConfiguration;
    /**
      Configuration of the 'rotate' button, located in the bottom bar.
      */
    rotateButton: BarButtonConfiguration;
    /**
      Configuration of the 'delete' button, located in the bottom bar.
      */
    deleteButton: BarButtonConfiguration;
    /**
      Configuration of the 'submit' button, located in the bottom bar.
      */
    submitButton: ButtonConfiguration;
    /** @param source {@displayType `DeepPartial<ReviewBottomBarConfiguration>`} */
    constructor(source?: DeepPartial<ReviewBottomBarConfiguration>);
}
/**
Configuration of the 'more' popup menu for the review screen.
*/
export declare class ReviewMorePopupMenu extends PartiallyConstructible {
    /**
      The background color of the popup menu.
      Default is "?sbColorSurface"
      */
    backgroundColor: string;
    /**
      Configuration of the 'reorder pages' button.
      */
    reorderPages: PopupMenuItem;
    /**
      Configuration of the 'delete all' button.
      */
    deleteAll: PopupMenuItem;
    /** @param source {@displayType `DeepPartial<ReviewMorePopupMenu>`} */
    constructor(source?: DeepPartial<ReviewMorePopupMenu>);
}
/**
Configuration of the zoom overlay for the review screen.
*/
export declare class ZoomOverlay extends PartiallyConstructible {
    /**
      The background color of the zoom overlay.
      Default is "?sbColorModalOverlay"
      */
    overlayColor: string;
    /**
      Configuration of the 'close' button for the zoom overlay.
      */
    closeButton: ButtonConfiguration;
    /** @param source {@displayType `DeepPartial<ZoomOverlay>`} */
    constructor(source?: DeepPartial<ZoomOverlay>);
}
/**
Configuration of the screen for reviewing the scanned pages.
*/
export declare class ReviewScreenConfiguration extends PartiallyConstructible {
    /**
      Determines whether the review screen should be shown or not. If 'false', the review screen will be skipped and the scanned document will be returned immediately.
      Default is true
      */
    enabled: boolean;
    /**
      Configuration of the title, located in the top bar.
      */
    topBarTitle: StyledText;
    /**
      Configuration of the 'more' button, located in the top bar.
      */
    topBarMoreButton: IconButton;
    /**
      Configuration of the 'back' button, located in the top bar.
      */
    topBarBackButton: ButtonConfiguration;
    /**
      Configuration of the 'more' popup menu for the review screen.
      */
    morePopup: ReviewMorePopupMenu;
    /**
      Configuration of the 'zoom' button.
      */
    zoomButton: RoundButton;
    /**
      Configuration of the zoom overlay for the review screen.
      */
    zoomOverlay: ZoomOverlay;
    /**
      The background color of the review screen.
      Default is "?sbColorOnSurfaceVariant"
      */
    backgroundColor: string;
    /**
      Configuration of the bottom bar for the review screen.
      */
    bottomBar: ReviewBottomBarConfiguration;
    /**
      Configuration of the 'next page' button.
      */
    switchNextPageButton: IconButton;
    /**
      Configuration of the 'previous page' button.
      */
    switchPreviousPageButton: IconButton;
    /**
      Configuration of the page count label.
      */
    pageCounter: UserGuidanceConfiguration;
    /**
      Configuration of the alert dialog displayed when trying to delete all the pages.
      */
    deleteAllPagesAlertDialog: ScanbotAlertDialog;
    /**
      Configuration of the alert dialog displayed when trying to delete a single page.
      */
    deletePageAlertDialog: ScanbotAlertDialog;
    /** @param source {@displayType `DeepPartial<ReviewScreenConfiguration>`} */
    constructor(source?: DeepPartial<ReviewScreenConfiguration>);
}
