import { ItemSelector } from './interfaces'; export default class Operation { method: 'ADD' | 'UPDATE' | 'DELETE'; itemSelector: ItemSelector; requireRead: boolean; before: any; partialAfter: any; after: any; resolved: boolean; onResolved: (operation: Operation) => void; onSetBefore: (operation: Operation) => void; constructor(method: 'ADD' | 'UPDATE' | 'DELETE', itemSelector: ItemSelector, partialItem?: Object); connectToOperationManager(onResolved: (operation: Operation) => void, onSetBefore: (operation: Operation) => void): void; setBefore(beforeItem: Object): void; markAsResolved(): void; updateAfter(): void; throwErrorIfRequireRead(errorMessage: string): void; modify(partialItem: Object): void; addNumToProp(propKey: string, delta: number): void; setItemToProp(propKey: string, newItem: Object, newItemSelector: ItemSelector, limit: number): void; delItemFromProp(propKey: string, targetItemSelector: ItemSelector): void; }