import dxDataSource from 'devextreme/data/data_source';
import { ContextMenuBarBase } from '../common/bars/context-menu';
import { IContextMenuBar, IRibbonBar } from '../common/bars/interfaces';
import { FloatingObjectMovedArgumentInner } from '../common/commands/floating-objects/floating-object-drag-drop-change-position-command';
import { IControlOwner } from '../common/interfaces/i-control-owner';
import { IInternalApi } from '../common/internal-api';
import { Field } from '../common/model/fields/field';
import { FontsSettings } from '../common/model/options/fonts';
import { Point } from '@devexpress/utils/lib/geometry/point';
import { FixedInterval } from '@devexpress/utils/lib/intervals/fixed';
import { CalculateDocumentVariableAsyncEventArgs } from './document-processor/docvar-args';
import { DocumentFormatApi } from './model-api/formats/enum';
import { ActiveContextTabManager } from './bars/active-context-tab-manager';
import { ClientBarHolder } from './bars/bar-holder';
import { ClientRichEditCore } from './client-rich-edit-core';
import { ContextMenuSettings } from './context-menu/settings';
import { DialogManager } from './dialogs/dialog-manager';
import { IInitialDocumentSettings, IRichEditSettings } from './i-rich-constructor-settings';
import { Events } from './public/client-events';
import { CommandId } from './public/commands/enum';
import { CalculateDocumentVariableEventArgs, ContextMenuShowingEventArgs, EventArgs } from './public/events';
import { Ribbon } from './public/ribbon/ribbon';
import { RichEdit } from './public/rich-edit';
import { ClientQuickSearchPanel } from './ui/client-quick-search-panel';
import { RulerSettings } from '../common/ui/ruler/settings';
import { ViewSettings } from '../common/view-settings/views-settings';
interface ResizeObserverOptions {
    box?: 'content-box' | 'border-box' | 'device-pixel-content-box';
}
interface ResizeObserverSize {
    readonly inlineSize: number;
    readonly blockSize: number;
}
interface ResizeObserver {
    disconnect(): void;
    observe(target: Element, options?: ResizeObserverOptions): void;
    unobserve(target: Element): void;
}
declare var ResizeObserver: {
    new (callback: ResizeObserverCallback): ResizeObserver;
    prototype: ResizeObserver;
};
interface ResizeObserverCallback {
    (entries: ResizeObserverEntry[], observer: ResizeObserver): void;
}
interface ResizeObserverEntry {
    readonly target: Element;
    readonly contentRect: DOMRectReadOnly;
    readonly borderBoxSize: ReadonlyArray<ResizeObserverSize>;
    readonly contentBoxSize: ReadonlyArray<ResizeObserverSize>;
    readonly devicePixelContentBoxSize?: ReadonlyArray<ResizeObserverSize>;
}
export declare class ClientRichEdit implements IControlOwner {
    core: ClientRichEditCore;
    name: string;
    element: HTMLElement;
    barHolder: ClientBarHolder;
    dialogManager: DialogManager;
    _clientQuickSearchPanel: ClientQuickSearchPanel;
    get clientQuickSearchPanel(): ClientQuickSearchPanel;
    dataSource: dxDataSource;
    rawDataSource: any;
    private readonly fullScreenHelper;
    exportUrl: string;
    private publicRichEdit;
    events: Events;
    private losingChangesWatcher;
    private evtHandlersHolder;
    private rulerSettings;
    lastRibbonSettings: Ribbon;
    isInitialized: boolean;
    isInFullScreenMode: boolean;
    hasWorkDirectory: boolean;
    internalApi: IInternalApi;
    contextMenuSettings: ContextMenuSettings;
    onInit?: string | ((s: RichEdit, e: EventArgs) => void);
    document?: IInitialDocumentSettings;
    allowDocumentLoadedEventCall: boolean;
    activeContextTabManager: ActiveContextTabManager;
    resizeObserver: ResizeObserver;
    getPublicRichEdit(): RichEdit;
    constructor(element: HTMLElement, options: IRichEditSettings, publicRichEdit: RichEdit);
    getRulerSettings(viewSettings: ViewSettings): RulerSettings;
    disposeDataSource(): void;
    dispose(): void;
    setNewRawDataSource(rawDataSource: any, callback: (success: boolean) => void): void;
    private prepareElement;
    private createCore;
    private initCore;
    private initEvents;
    private initDefaultFontsAndStyles;
    private initBars;
    initRibbon(ribbon: Ribbon, fonts: FontsSettings): void;
    private initDialogManager;
    private getStringResources;
    private initLosingChangesWatcher;
    private attachEvents;
    private canUseResizeObserver;
    syncSessionGuid(_sessionGuid: string): void;
    canCaptureFocus(): boolean;
    Focus(): void;
    adjustControl(): void;
    toggleFullScreenMode(): void;
    confirmOnLosingChanges(): boolean;
    sendExportRequest(base64: string, fileName: string, format: DocumentFormatApi, reason: string): void;
    get documentSaved(): boolean;
    set documentSaved(state: boolean);
    sendExportPdfRequest(base64: string, fileName: string, pdfExportUrl: string): void;
    private sendPostRequest;
    showDialog(name: string, parameters: any, callback: (params: any) => void, afterClosing: () => void, isModal: boolean): void;
    raiseBeginSynchronization(): void;
    raiseDocumentLoaded(): void;
    raiseDocumentChanged(): void;
    raiseDocumentFormatted(pageCount: number): void;
    raiseActiveSubDocumentChanged(): void;
    onCaptureFocus(): void;
    raiseGotFocus(): void;
    raiseLostFocus(): void;
    raiseHyperlinkClick(evt: MouseEvent, field: Field): boolean;
    raisePointerDown(evt: MouseEvent): boolean;
    raisePointerUp(evt: MouseEvent): boolean;
    raiseKeyDown(evt: KeyboardEvent): boolean;
    raiseKeyUp(evt: KeyboardEvent): void;
    raiseCalculateDocumentVariable(args: CalculateDocumentVariableEventArgs): void;
    raiseContentInserted(subDocumentId: number, interval: FixedInterval): void;
    raiseContentRemoved(subDocumentId: number, interval: FixedInterval, removedText: string): void;
    raiseCharacterPropertiesChanged(subDocumentId: number, interval: FixedInterval): void;
    raiseParagraphPropertiesChanged(subDocumentId: number, paragraphIndex: number): void;
    raiseAutoCorrect(text: string, interval: FixedInterval): boolean;
    raiseSelectionChanged(): void;
    raiseSaving(base64: string, fileName: string, format: DocumentFormatApi, reason: string): boolean;
    raiseHorizontalRulerVisibleChanged(horizontalRulerVisible: boolean): void;
    raiseSaved(success: boolean, reason: string): void;
    raiseCustomCommandExecuted(command: any, parameter: any): void;
    raiseFloatingObjectMovedObject(_arg: FloatingObjectMovedArgumentInner): void;
    raisePdfExported(success: boolean): void;
    raisePdfExporting(base64: string, blob: Blob, blobStream: any, handled: boolean): boolean;
    raiseCommandStateChanged(commands: null | CommandId[]): void;
    raiseCalculateDocumentVariableAsync(args: CalculateDocumentVariableAsyncEventArgs): void;
    useAsyncVersionOfCalculateDocvariable(): boolean;
    raiseContextMenuShowing(args: ContextMenuShowingEventArgs): void;
    showPopupMenu(getPoint: (contextMenuBar: ContextMenuBarBase) => Point): void;
    hidePopupMenu(): void;
    showQuickSearchPanel(): void;
    hideQuickSearchPanel(): void;
    isRibbon(element: HTMLElement): boolean;
    isTouchMode(): boolean;
    getChildElement(postfix: string): HTMLElement;
    getMainElement(): HTMLElement;
    hasActiveDialog(): boolean;
    getContextMenuBar(): IContextMenuBar;
    getRibbonBar(): IRibbonBar | null;
    private getLinkType;
    private setFullScreenMode;
    private setNormalMode;
    private onFullScreenChange;
    private documentIsNotFullScreen;
    private adjustControlInFullScreenMode;
    savingEventIsEmpty(): boolean;
}
export {};
