import { FixedInterval } from '@devexpress/utils/lib/intervals/fixed'; import { DocumentModel } from '../document-model'; import { HistoryItemIntervalState, HistoryItemState } from '../history/states/history-item-state'; import { HistoryItemIntervalStateObject, HistoryItemIntervalUseStateObject, HistoryItemListLevelStateObject, HistoryItemListLevelUseStateObject, HistoryItemSectionStateObject, HistoryItemTableCellComplexUseStateObject, HistoryItemTableCellStateObject, HistoryItemTableCellUseStateObject, HistoryItemTableComplexUseStateObject, HistoryItemTableRowStateObject, HistoryItemTableRowUseStateObject, HistoryItemTableStateObject, HistoryItemTableUseStateObject } from '../history/states/history-item-state-object'; import { SubDocument } from '../sub-document'; export interface IIntervalPropertyWithUseValueManipulator { setValue(subDocument: SubDocument, interval: FixedInterval, newValue: T, newUse: boolean): HistoryItemIntervalState; restoreValue(subDocument: SubDocument, state: HistoryItemIntervalState): any; } export interface IIntervalPropertyManipulator { setValue(subDocument: SubDocument, interval: FixedInterval, newValue: T, keepCustomFormatting?: boolean): HistoryItemIntervalState; restoreValue(subDocument: SubDocument, state: HistoryItemIntervalState): any; } export interface IListLevelPropertyManipulator { setValue(model: DocumentModel, isAbstractList: boolean, listIndex: number, listLevelIndex: number, newValue: T): HistoryItemState; restoreValue(model: DocumentModel, state: HistoryItemState): any; } export interface IListLevelPropertyWithUseManipulator { setValue(model: DocumentModel, isAbstractList: boolean, listIndex: number, listLevelIndex: number, newValue: T, newUse: boolean): HistoryItemState; restoreValue(model: DocumentModel, state: HistoryItemState): any; } export interface ISectionPropertyManipulator { setValue(interval: FixedInterval, newValue: T): HistoryItemState; restoreValue(state: HistoryItemState): any; } export interface ITableCellPropertyWithUseManipulator { setValue(subDocument: SubDocument, tableIndex: number, rowIndex: number, cellIndex: number, newValue: T, newUse: boolean): HistoryItemState; restoreValue(subDocument: SubDocument, state: HistoryItemState): any; } export interface ITableCellComplexPropertyWithUseManipulator { setValue(subDocument: SubDocument, tableIndex: number, rowIndex: number, cellIndex: number, newValues: T[], newUses: boolean[]): HistoryItemState; restoreValue(subDocument: SubDocument, state: HistoryItemState): any; } export interface ITableCellPropertyManipulator { setValue(subDocument: SubDocument, tableIndex: number, rowIndex: number, cellIndex: number, newValue: T): HistoryItemState; restoreValue(subDocument: SubDocument, state: HistoryItemState): any; } export interface ITablePropertyManipulator { setValue(subDocument: SubDocument, tableIndex: number, newValue: T): HistoryItemState; restoreValue(subDocument: SubDocument, state: HistoryItemState): any; } export interface ITablePropertyWithUseManipulator { setValue(subDocument: SubDocument, tableIndex: number, newValue: T, newUse: boolean): HistoryItemState; restoreValue(subDocument: SubDocument, state: HistoryItemState): any; } export interface ITableComplexPropertyWithUseManipulator { setValue(subDocument: SubDocument, tableIndex: number, newValues: T[], newUses: boolean[]): HistoryItemState; restoreValue(subDocument: SubDocument, state: HistoryItemState): any; } export interface ITableRowPropertyWithUseManipulator { setValue(subDocument: SubDocument, tableIndex: number, rowIndex: number, newValue: T, newUse: boolean): HistoryItemState; restoreValue(subDocument: SubDocument, state: HistoryItemState): any; } export interface ITableRowPropertyManipulator { setValue(subDocument: SubDocument, tableIndex: number, rowIndex: number, newValue: T): HistoryItemState; restoreValue(subDocument: SubDocument, state: HistoryItemState): any; }