import { EventDispatcher } from '../../utils/event-dispatcher';
import { IBatchUpdatableObject } from '@devexpress/utils/lib/class/batch-updatable';
import { IFontsChangesListener } from '../../interfaces/i-font-changes-listener';
import { IModelChangesListener } from '../../interfaces/model-changes-listener';
import { IModelManager } from '../../model-manager';
import { FontInfoCache } from '../caches/hashed-caches/font-info-cache';
import { ModelChange } from '../changes/change';
import { DocumentModel } from '../document-model';
import { FontInfo } from '../fonts/font-info';
import { BookmarksManipulator } from './bookmarks-manipulator';
import { CharacterPropertiesManipulator } from './character-properties-manipulator';
import { DocumentMerger } from './doc-merger/merger';
import { DocumentPropertiesManipulator } from './document-properties-manipulator';
import { DocumentProtectionPropertiesManipulator } from './document-protection-properties-manipulator';
import { FieldsManipulator } from './fields-manipulator';
import { FloatingObjectsManipulator } from './floating-objects/floating-objects-manipulator';
import { FontManipulator } from './font-manipulator';
import { FooterManipulator, HeaderManipulator } from './header-footer-manipulator';
import { InlineObjectManipulator } from './inline-object-manipulator';
import { NumberingListManipulator } from './numbering-lists/numbering-list-manipulator';
import { ParagraphManipulator } from './paragraph-manipulator/paragraph-manipulator';
import { ParagraphPropertiesManipulator } from './paragraph-properties-manipulator';
import { PictureManipulator } from './picture-manipulator/picture-manipulator';
import { RangePermissionManipulator } from './range-permission-manipulator';
import { RangeManipulator } from './range/range-manipulator';
import { SectionManipulator } from './section-manipulator';
import { SectionPropertiesManipulator } from './section-properties-manipulator';
import { StylesManipulator } from './styles-manipulator';
import { SubDocumentManipulator } from './sub-document-manipulator';
import { TablesManipulator } from './tables/tables-manipulator';
import { TabsManipulator } from './tabs-manipulator';
import { TextBoxManipulator } from './text-box-manipulator';
import { TextCaseManipulator } from './text-case-manipulator';
import { TextManipulator } from './text-manipulator/text-manipulator';
export declare class ModelManipulator {
    batchUpdatableObject: IBatchUpdatableObject;
    modelManager: IModelManager;
    get model(): DocumentModel;
    floatingObject: FloatingObjectsManipulator;
    numberingList: NumberingListManipulator;
    range: RangeManipulator;
    table: TablesManipulator;
    bookmark: BookmarksManipulator;
    rangePermission: RangePermissionManipulator;
    characterProperties: CharacterPropertiesManipulator;
    documentProperties: DocumentPropertiesManipulator;
    documentProtectionProperties: DocumentProtectionPropertiesManipulator;
    field: FieldsManipulator;
    font: FontManipulator;
    header: HeaderManipulator;
    footer: FooterManipulator;
    inlineObject: InlineObjectManipulator;
    paragraphProperties: ParagraphPropertiesManipulator;
    sectionProperties: SectionPropertiesManipulator;
    style: StylesManipulator;
    subDocument: SubDocumentManipulator;
    tab: TabsManipulator;
    textCase: TextCaseManipulator;
    text: TextManipulator;
    picture: PictureManipulator;
    section: SectionManipulator;
    textBox: TextBoxManipulator;
    paragraph: ParagraphManipulator;
    documentMerger: DocumentMerger;
    private modelListeners;
    onFontsChanged: EventDispatcher<IFontsChangesListener>;
    constructor(modelManager: IModelManager, batchUpdatableObject: IBatchUpdatableObject);
    notifyModelChanged(change: ModelChange): void;
    addModelListener(listener: IModelChangesListener): void;
    removeModelListener(listener: IModelChangesListener): void;
    raiseFontAdded(newFontInfo: FontInfo | null): void;
    raiseFontRemoved(font: FontInfo | null): void;
    raiseFontListChanged(fontCache: FontInfoCache): void;
    clearListeners(): void;
}
