import { FixedInterval } from '@devexpress/utils/lib/intervals/fixed';
import { DocumentLayoutDetailsLevel } from '../../layout/document-layout-details-level';
import { LayoutPosition } from '../../layout/layout-position';
import { LayoutPage } from '../../layout/main-structures/layout-page';
import { LayoutRow } from '../../layout/main-structures/layout-row';
import { HistoryItemState } from '../../model/history/states/history-item-state';
import { HistoryItemListLevelStateObject } from '../../model/history/states/history-item-state-object';
import { HeaderFooterType } from '../../model/section/enums';
import { SubDocument } from '../../model/sub-document';
import { Table } from '../../model/tables/main-structures/table';
import { FormatterManager } from '../managers/formatter-manager';
export declare class LayoutInvalidator {
    private manager;
    private get model();
    private get layout();
    private get mainSubDoc();
    constructor(manager: FormatterManager);
    onContentInserted(subDocumentId: number, logPosition: number, length: number, restartFromParagraphStart: boolean): void;
    private contentOfMainSubDocumentInsertedOrDeleted;
    onTableChanged(subDocumentId: number, tableIndex: number, tableNestedLevel: number): void;
    onIntervalChanged(subDocumentId: number, interval: FixedInterval): void;
    onChangedSections(startSectionIndex: number, endSectionIndex: number): void;
    onListLevelChanged(newState: HistoryItemState<HistoryItemListLevelStateObject>): void;
    onHeaderFooterIndexChanged(sectionIndex: number, type: HeaderFooterType): void;
    onPagesChanged(startPageIndex: number, endPageIndex: number): void;
    onChangedAllLayout(): void;
    private prevRowPositions;
    private callRestart;
    private advanceForward;
    private moveRowsToRight;
    private moveColumnsToRight;
    private movePageAreasToRight;
    private otherSubDocChanged;
    private static getSectionFirstPageIndex;
    private invalidatePagesByEndPosition;
    private invalidatePages;
    findLayoutPositionInAllLayout(subDocument: SubDocument, pos: number, detailsLevel: DocumentLayoutDetailsLevel, endRowConflictFlags: boolean, middleRowConflictFlags: boolean): LayoutPosition;
    getStartModelPositionOfRow(lp: LayoutPosition): number;
    extendByMultipageTables(pageIndex: number, minPosition: number, forceRestartFullPage: boolean): number;
    isPageStartWithMultipageTable(page: LayoutPage): Table;
    static isLayoutRowRowStartWithMultipageTable(layoutRow: LayoutRow): boolean;
    private static isTableCellIsPartOfMultipageTable;
    private addRestartFromParagraph;
}
