import { IRichEditUnitConverter, RichEditUnit } from './utils/unit-converter';
import { DocumentFormat } from './document-format';
import { FormatterManager } from './layout-formatter/managers/formatter-manager';
import { DocumentLayout } from './layout/document-layout';
import { IMeasurer } from './measurer/measurer';
import { IModelManager } from './model-manager';
import { DocumentModel } from './model/document-model';
import { FieldRequestManager } from './model/fields/field-request-manager';
import { IsModified } from './model/json/enums/json-top-level-enums';
import { RichOptions } from './model/options/rich-options';
import { InnerClientProperties } from './rich-utils/inner-client-properties';
import { SpellChecker } from './spelling/spell-checker';
import { StringResources } from './string-resources';
import { ViewSettings } from './view-settings/views-settings';
import { FixedInterval } from '@devexpress/utils/lib/intervals/fixed';
import { PdfHelperFrame } from '@devexpress/utils/lib/pdf/helper-frame';
import { RangeCopy } from './model/manipulators/range/create-range-copy-operation';
import { AutoCorrectService } from './auto-correct/auto-correct-service';
import { IBarHolder } from './bars/interfaces';
import { ViewManager } from './canvas/renderes/view-manager';
import { ClientSideEvents } from './client-side-events';
import { CommandManager } from './commands/command-manager';
import { ShortcutManager } from './commands/shortcut-manager';
import { FocusManager } from './focus-manager';
import { GlobalEventDispatcher } from './global-event-dispatcher';
import { InputController } from './input-controller';
import { IControlOwner } from './interfaces/i-control-owner';
import { IPopupMenuManager, IRichEditControl, ReadOnlyMode } from './interfaces/i-rich-edit-core';
import { HitTestManager } from './layout-engine/hit-test-manager/hit-test-manager';
import { LoadingPanelManagerBase } from './loading-panel/manager';
import { IBuiltinLoadingPanel, LoadingPanelBase } from './loading-panel/panel';
import { InputPosition } from './selection/input-position';
import { InputPositionModelChangesListener } from './selection/input-position-model-changes-listener';
import { Selection } from './selection/selection';
import { SelectionModelChangesListener } from './selection/selection-model-changes-listener';
import { IRulerControl } from './ui/ruler/ruler';
import { RulerSettings } from './ui/ruler/settings';
import { SearchManager } from './ui/search-manager';
import { IExportModelOptions } from './formats/i-document-exporter';
export declare abstract class RichEditCore implements IRichEditControl {
    modelManager: IModelManager;
    barHolder: IBarHolder;
    commandManager: CommandManager;
    shortcutManager: ShortcutManager;
    selection: Selection;
    inputPosition: InputPosition;
    inputPositionModelChangesListener: InputPositionModelChangesListener;
    hitTestManager: HitTestManager;
    measurer: IMeasurer;
    uiUnitConverter: IRichEditUnitConverter;
    horizontalRulerControl: IRulerControl;
    spellChecker: SpellChecker;
    autoCorrectService: AutoCorrectService;
    searchManager: SearchManager;
    clientSideEvents: ClientSideEvents;
    innerClientProperties: InnerClientProperties;
    focusManager: FocusManager;
    inputController: InputController;
    isLoadingPictureFromClipboard: boolean;
    layout: DocumentLayout;
    viewManager: ViewManager;
    layoutFormatterManager: FormatterManager;
    loadingPanelManager: LoadingPanelManagerBase<LoadingPanelBase<IBuiltinLoadingPanel>, LoadingPanelBase<IBuiltinLoadingPanel>>;
    readOnly: ReadOnlyMode;
    documentInfo: DocumentInfo;
    stringResources: StringResources;
    popupMenuManager: IPopupMenuManager;
    globalEventDispatcher: GlobalEventDispatcher;
    owner: IControlOwner;
    selectionModelChangesListener: SelectionModelChangesListener;
    readonly pdfHelperFrame: PdfHelperFrame;
    private closed;
    sessionGuid: string;
    private clientGuid;
    private eventManager;
    private selectionFormatter;
    private scrollFormatter;
    private boxVisualizerManager;
    private simpleViewCanvasSizeManager;
    private _isDisposed;
    get isReadOnlyPersistent(): boolean;
    lastSavedHistoryItemId: number;
    get model(): DocumentModel;
    get isDisposed(): boolean;
    constructor(owner: IControlOwner, name: string, element: HTMLElement, clientGuid: string, readOnly: boolean, barHolder: IBarHolder, unitsType: RichEditUnit, rulerSettings: RulerSettings, richOptions: RichOptions, viewsSettings: ViewSettings, stringResources: StringResources);
    abstract createFieldRequestManager(): FieldRequestManager;
    protected abstract createCommandManager(): CommandManager;
    protected abstract createShortcutManager(): ShortcutManager;
    protected beforeInitialization(_options: RichOptions): void;
    protected abstract createLoadingPanelManager(): LoadingPanelManagerBase<LoadingPanelBase<IBuiltinLoadingPanel>, LoadingPanelBase<IBuiltinLoadingPanel>>;
    abstract isClientMode(): boolean;
    protected abstract createModelManager(richOptions: RichOptions): IModelManager;
    protected registerActiveContextTabManager(): void;
    protected registerFontChangesListeners(): void;
    initialize(sessionGuid: string, documentInfo: DocumentInfo, subDocumentsCounter?: number, model?: DocumentModel, testMode?: boolean): void;
    dispose(): void;
    beginUpdate(): void;
    endUpdate(): void;
    setPersistentReadOnly(readOnly: boolean): void;
    setWorkSession(sessionGuid: string, documentInfo: DocumentInfo): void;
    beginLoading(): void;
    endLoading(): void;
    closeDocument(): void;
    importHtml(elements: HTMLElement[]): void;
    importInnerClipboard(exportedRangeCopy: RangeCopy, selection: Selection): FixedInterval;
    onViewTypeChanged(): void;
    getModifiedState(): IsModified;
    setModifiedFalse(): void;
    getGuidParams(): {
        sguid: string;
        cguid: string;
    };
    isTouchMode(): boolean;
    isRibbon(element: HTMLElement): boolean;
    isClosed(): boolean;
    invalidateLayoutAfterFontsLoaded(): void;
    getExportModelOptions(initOptions?: Partial<IExportModelOptions>): IExportModelOptions;
    protected abstract createSpellChecker(): any;
    protected createViewElement(id: string, element: HTMLElement): HTMLDivElement;
    private isUsedInnerClipboard;
    getExportDocumentFormat(): DocumentFormat;
}
export declare class DocumentInfo {
    static defaultDocumentName: string;
    static defaultDocumentFormat: DocumentFormat;
    private _fileName;
    private _documentFormat?;
    private _documentExtension;
    readonly documentHasSource: boolean;
    get fileName(): string;
    set fileName(val: string);
    get documentFormat(): DocumentFormat;
    set documentFormat(val: DocumentFormat);
    get documentExtension(): string;
    constructor(fileName: string, documentHasSource: boolean, documentFormat?: DocumentFormat, documentExtension?: string);
    getFileNameForDownload(fileName?: string): string;
}
