import { Transaction } from 'prosemirror-state'; import { CHANGE_STATUS, StructureAttrs } from './types/change'; import { TrackChangesStatus } from './types/track'; export declare enum TrackChangesAction { skipTrack = "track-changes-skip-tracking", setUserID = "track-changes-set-user-id", setPluginStatus = "track-changes-set-track-status", setChangeStatuses = "track-changes-set-change-statuses", refreshChanges = "track-changes-refresh-changes", updateMetaNode = "track-changes-update-meta-node", structuralChangeAction = "track-changes-structural-change-action", indentationAction = "track-changes-indentation-action" } export type TrackChangesActionParams = { [TrackChangesAction.skipTrack]: boolean; [TrackChangesAction.setUserID]: string; [TrackChangesAction.setPluginStatus]: TrackChangesStatus; [TrackChangesAction.setChangeStatuses]: { status: CHANGE_STATUS; ids: string[]; }; [TrackChangesAction.refreshChanges]: boolean; [TrackChangesAction.updateMetaNode]: boolean; [TrackChangesAction.structuralChangeAction]: StructureAttrs['action']; [TrackChangesAction.indentationAction]: { action: 'indent' | 'unindent'; }; }; export declare function hasAction(tr: Transaction): boolean; export declare function getAction(tr: Transaction, action: K): TrackChangesActionParams[K] | undefined; export declare function setAction(tr: Transaction, action: K, payload: TrackChangesActionParams[K]): Transaction; export declare const skipTracking: (tr: Transaction) => Transaction; export declare const isIndentationAction: (action: ReturnType) => action is "indent" | "unindent";