import { ILayoutChangesListener } from '../../interfaces/i-document-layout-changes-listener';
import { PageChange } from '../../layout-formatter/changes/changes/page-change';
import { ILayoutFormatterManagerHolder } from '../../layout-formatter/managers/formatter-manager';
import { DocumentLayout } from '../../layout/document-layout';
import { LayoutSelection } from '../../layout/selection/layout-selection';
import { ImageCache } from '../../model/caches/images';
import { FieldsSettings } from '../../model/options/fields';
import { InnerClientProperties } from '../../rich-utils/inner-client-properties';
import { StringResources } from '../../string-resources';
import { ViewType } from '../../view-settings/views-settings';
import { InputController } from '../../input-controller';
import { IEventManager } from '../../interfaces/i-event-manager';
import { IReadOnlyPropertyHolder, IRichEditControl } from '../../interfaces/i-rich-edit-core';
import { IInternalApi } from '../../internal-api';
import { IRulerControl } from '../../ui/ruler/ruler';
import { CanvasManager } from '../canvas-manager';
import { CanvasScrollInfo } from '../canvas-scroll-info';
import { CanvasScrollManager } from '../canvas-scroll-manager';
import { CanvasSizeInfo } from '../canvas-size-info';
import { CanvasListener } from './canvas-listener/canvas-listener';
import { RendererManager } from './change-active-sub-document/renderer';
import { DocumentRenderer, DocumentRendererPageCache } from './common/document-renderer';
import { MisspelledSelectionRenderer } from './selection-renderers/misspelled-selection-renderer';
import { RangePermissionRenderer } from './selection-renderers/range-permission-renderer';
import { SearchSelectionRenderer } from './selection-renderers/search-selection-renderer';
import { SelectionRenderer } from './selection-renderers/selection-renderer';
import { IZoomLevelHolder } from '../../interfaces/i-zoom-level-holder';
import { IModelChangesListener } from '../../interfaces/model-changes-listener';
import { ModelChange } from '../../model/changes/change';
export declare class ViewManager implements ILayoutChangesListener, IZoomLevelHolder, IModelChangesListener {
    private renderers;
    get renderer(): DocumentRenderer;
    get printLayoutRenderer(): DocumentRenderer;
    get isSimpleView(): boolean;
    lastUsedRendererType: ViewType;
    canvasListeners: Record<number, CanvasListener<DocumentRenderer>>;
    get canvasListener(): CanvasListener<DocumentRenderer>;
    canvasManager: CanvasManager;
    innerClientProperties: InnerClientProperties;
    canvas: HTMLDivElement;
    cache: DocumentRendererPageCache[];
    selection: SelectionRenderer;
    searchSelection: SearchSelectionRenderer;
    misspelledSelection: MisspelledSelectionRenderer;
    rangePermission: RangePermissionRenderer;
    imageCache: ImageCache;
    pagesContainer: HTMLElement;
    serviceContainer: HTMLElement;
    private inputController;
    changeActiveSubDocumentRenderer: RendererManager;
    layout: DocumentLayout;
    sizes: CanvasSizeInfo;
    canvasScrollManager: CanvasScrollManager;
    scroll: CanvasScrollInfo;
    stringResources: StringResources;
    readonly readOnlyPropertyHolder: IReadOnlyPropertyHolder;
    readonly layoutFormatterManagerHolder: ILayoutFormatterManagerHolder;
    readonly internalApi: IInternalApi;
    readonly fieldOptions: FieldsSettings;
    readonly control: IRichEditControl;
    constructor(control: IRichEditControl, canvas: HTMLDivElement, eventManager: IEventManager, stringResources: StringResources, horizontalRuler: IRulerControl, inputController: InputController, innerClientProperties: InnerClientProperties, readOnlyPropertyHolder: IReadOnlyPropertyHolder, layoutFormatterManagerHolder: ILayoutFormatterManagerHolder, internalApi: IInternalApi, fieldOptions: FieldsSettings);
    dispose(): void;
    modelChanged(change: ModelChange): void;
    adjust(force: boolean): void;
    NotifyPagesReady(pageChanges: PageChange[]): void;
    NotifyFullyFormatted(_pageCount: number): void;
    NotifySelectionLayoutChanged(): void;
    NotifySearchSelectionLayoutChanged(): void;
    NotifyMisspelledSelectionLayoutChanged(): void;
    NotifyRangePermissionLayoutChanged(): void;
    private updateSelectedContent;
    private getSelectionIntervalsForPageChange;
    private addTopLevelContainers;
    setWorkSession(layout: DocumentLayout, layoutSelection: LayoutSelection, imageCache: ImageCache): void;
    closeDocument(): void;
    ensureFirstPageIsRendered(): void;
    get zoomLevel(): number;
    set zoomLevel(value: number);
    get allowZoom(): boolean;
    set allowZoom(value: boolean);
}
