import { Node as PMNode } from 'prosemirror-model'; import { Step, StepResult, StepMap, ReplaceStep, Mappable } from 'prosemirror-transform'; export declare const analyticsStepType = "atlaskit-analytics"; export declare const analyticsInvertStepType = "atlaskit-analytics-invert"; export interface AnalyticsPayload { action: string; actionSubject: string; actionSubjectId?: string | null; attributes?: Record; eventType: string; } export interface AnalyticsWithChannel

{ payload: P; channel: string; } declare enum HISTORY_ACTIONS { UNDID = "undid", REDID = "redid" } interface UndoAnalyticsEventPayload { action: HISTORY_ACTIONS.UNDID; actionSubject: string; actionSubjectId?: string; attributes?: Record; eventType: string; } interface RedoAnalyticsEventPayload { action: HISTORY_ACTIONS.REDID; actionSubject: string; actionSubjectId?: string; attributes?: Record; eventType: string; } declare type AnalyticsInvertPayload = UndoAnalyticsEventPayload | RedoAnalyticsEventPayload; export declare type AnalyticsInvertStep = AnalyticsStep; /** * Custom Prosemirror Step to fire our GAS V3 analytics events * Using a Step means that it will work with prosemirror-history and we get * undo/redo events for free */ export declare class AnalyticsStep

extends Step { analyticsEvents: AnalyticsWithChannel

[]; pos?: number; private actionsToIgnore; constructor(analyticsEvents: AnalyticsWithChannel

[], actionsToIgnore?: string[], pos?: number); /** * Generate new undo/redo analytics event when step is inverted */ invert(): AnalyticsStep; apply(doc: PMNode): StepResult; map(mapping: Mappable): AnalyticsStep

; getMap(): StepMap; merge(other: Step): AnalyticsStep

| null; toJSON(): { stepType: string; }; static fromJSON(): ReplaceStep; } export {};