import { Toolbar as Tool } from '@syncfusion/ej2-navigations';
import { PdfViewer, PdfViewerBase, TextAlignment, Toolbar } from '../index';
import { Dialog } from '@syncfusion/ej2-popups';
/**
 * @hidden
 */
export interface IRedactionSettings {
    markerFillColor: string;
    markerBorderColor: string;
    markerOpacity: number;
    overlayText: string;
    fontSize: number;
    fontFamily: string;
    fontColor: string;
    fillColor: string;
    textAlignment: TextAlignment;
    isRepeat: boolean;
    useOverlayText: boolean;
}
/**
 * Redaction Toolbar module
 */
export declare class RedactionToolbar {
    private pdfViewer;
    private pdfViewerBase;
    /**
     * @private
     */
    primaryToolbar: Toolbar;
    private readonly defaultRedactionSettings;
    private updatedProperties;
    /**
     * @private
     */
    toolbarElement: HTMLElement;
    private markForRedactionItem;
    private redactPagesItem;
    private redactTextItem;
    private redactionPanelItem;
    private redactItem;
    private deleteItem;
    private commentItem;
    private closeItem;
    private tabControl;
    /**
     * @private
     */
    toolbar: Tool;
    private propertiesDialog;
    private pageDialog;
    /**
     * @private
     */
    redactDialogObj: Dialog;
    private useOverlayTextCheck;
    private repeatOverlayTextCheck;
    private overlayTextBox;
    private pageRangeTextBox;
    private opacitySlider;
    private fillOpacityValue;
    private pageRangeDiv;
    private redactionPropertiesContainer;
    private redactionPagePanelContainer;
    private redactionContentContainer;
    private overlayMainDiv;
    private overlaySections;
    private fontFamilyMainDiv;
    private fontSizeMainDiv;
    private fontColorMainDiv;
    private fontAlignMainDiv;
    private repeatOverlayMainDiv;
    private isPageRangeValid;
    private overlayTextMainDiv;
    /**
     * @private
     */
    isToolbarHidden: boolean;
    /**
     * @private
     */
    isPropertyDialogOpen: boolean;
    /**
     * @private
     */
    isTextRedactMode: boolean;
    /**
     * @private
     */
    isTextRedact: boolean;
    /**
     * @private
     */
    isPageDialogOpen: boolean;
    /**
     * @private
     */
    toolbarCreated: boolean;
    constructor(viewer: PdfViewer, viewerBase: PdfViewerBase, toolbar: Toolbar);
    /**
     * @private
     * @returns {void}
     */
    initializeRedactionToolbar(): void;
    private createToolbarItems;
    private onToolbarClicked;
    /**
     * @private
     * @returns {void}
     */
    handleRedactions(): void;
    /**
     * @param {boolean} isEnable - isEnable
     * @private
     * @returns {void}
     */
    showHideDeleteIcon(isEnable: boolean): void;
    /**
     * @param {boolean} isEnable - isEnable
     * @private
     * @returns {void}
     */
    showHideRedactIcon(isEnable: boolean): void;
    private createRedactDialog;
    private createRedactPagesWindow;
    /**
     * @private
     * @returns {void}
     */
    createPropertiesWindow(): void;
    private createRedactionPanelTitleContainer;
    private createPagePanelTitleContainer;
    /**
     * @private
     * @returns {void}
     */
    closeRedactionPanelContainer(): void;
    /**
     * @private
     * @returns {void}
     */
    closePagePanelContainer(): void;
    private getPropertyPanelHeaderContent;
    private createPageTab;
    private checkValidation;
    private isValidPageRangeFormat;
    private createRadioOption;
    private getEnterPageRangeContent;
    private createAppearanceTab;
    private createAppearanceTabForMobile;
    private createGeneralProperties;
    private createGeneralPropertiesForMobile;
    private createAppearanceProperties;
    private createAppearancePropertiesForMobile;
    private toggleAlignment;
    private pageOptionChanged;
    private redactionSettingsInitialValues;
    private getRgbCode;
    private rgbaToHex;
    private updateOpacityIndicator;
    private onOpacityChange;
    private fillColorChanged;
    private outlineColorChanged;
    private outlineFillColorChanged;
    private fontColorChanged;
    private onFontFamilyChange;
    private onFontSizeChange;
    private onCancelClicked;
    private onPageMarkCancelClicked;
    private select;
    private OnsavePageMarkSettings;
    private parsePageRange;
    private onSaveClicked;
    private handleMarkForRedaction;
    /**
     * @private
     * @returns {void}
     */
    handleTextRedact(): void;
    private convertSelectionToRedactText;
    private onUseOverlayTextClick;
    private onUseOverlayTextClickForMobile;
    private enableOrdisableOverlayDiv;
    private onRepeatOverlayTextClick;
    private overlayTextValueChanged;
    private afterToolbarCreation;
    /**
     * @private
     * @param {HTMLElement} element - element
     * @param {boolean} isInitialLoading - isInitialLoading
     * @param {boolean} isShow - isShow
     * @returns {void}
     */
    showRedactionToolbar(element?: HTMLElement, isInitialLoading?: boolean, isShow?: boolean): void;
    /**
     * @param {string} id - It discribe the annotation id.
     * @private
     * @returns {any} - any
     */
    createRedactionToolbarForMobile(id: string): any[];
    /**
     * @private
     * @returns {void}
     */
    adjustMobileViewer(): void;
    private resetViewerHeight;
    /**
     * @private
     * @returns {void}
     */
    resetToolbar(): void;
    /**
     * @private
     * @param {boolean} isAdjust - isAdjust
     * @returns {void}
     */
    adjustViewer(isAdjust: boolean): void;
    private getNavigationToolbarHeight;
    private updateViewerHeight;
    private getToolbarHeight;
    private getElementHeight;
    private destroyRedactWindow;
    private destroyPageWindow;
    private destroyPropertiesWindow;
    /**
     * @private
     * @returns {void}
     */
    clear(): void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    private destroyDependentComponent;
}
