///
//@ts-ignore
import React, { Component, KeyboardEvent } from 'react';
import GcPdfViewer from "..";
///
//@ts-ignore
import { i18n } from 'i18next';
import { ReplaceTextDialogProps, ReplaceTextDialogModel, ReplaceTextDialogMode } from './types';
import { ReplaceTextModel, SaveSettings } from '../Models/ViewerTypes';
import { ReplaceTextAnnotation } from '../Annotations/AnnotationTypes';
export declare class ReplaceTextDialog extends Component {
static readonly ROOT_ID_PREFIX: string;
static readonly MAX_RANGE_EMPTY_PAGES_COUNT: number;
private _hidePromise?;
private _resolve?;
private _viewer;
state: {
activatedEditorIndex: number;
enabled: boolean;
showModal: boolean;
mode: ReplaceTextDialogMode;
replaceTextItems: ReplaceTextAnnotation[];
workInProgress: boolean;
};
_dialogContentElem: HTMLDivElement | null;
_mounted: boolean;
componentDidMount(): void;
componentWillUnmount(): void;
get replaceTextItems(): ReplaceTextAnnotation[];
removeItem(replaceTextItemIndex: number): Promise;
getSaveSettings(downloadOnly?: boolean): SaveSettings;
createReplaceTextModelFromSelection(): Promise;
show(viewer: GcPdfViewer): Promise;
applyChanges(closeDialog?: boolean): Promise;
downloadChangedDocument(): Promise;
hide(): void;
render(): React.JSX.Element | null;
renderSelectTextModeContent(): (JSX.Element | null)[];
renderNormalModeContent(): (JSX.Element | null)[];
removeAllReplaceTextAnnotations(): Promise;
renderReplaceTextItems(): JSX.Element | null;
confirmReplaceTextItems(replaceTextItems: ReplaceTextModel[], newReplaceTextItemsCount: number): boolean;
addReplaceTextItem(model: ReplaceTextAnnotation, activateEditor?: boolean): void;
onRangeInputKeyDown(event: KeyboardEvent, replaceTextItemIndex: number): void;
renderReplaceTextActions(): JSX.Element | null;
selectTextToReplace(): void;
get mode(): ReplaceTextDialogMode;
set mode(val: ReplaceTextDialogMode);
clearReplaceTextItems(): void;
private _resolveHidePromise;
get in17n(): i18n;
}