import { type Node as PMNode } from '@atlaskit/editor-prosemirror/model'; import type { Mappable } from '@atlaskit/editor-prosemirror/transform'; import { Step, StepResult, StepMap, ReplaceStep } from '@atlaskit/editor-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

{ channel: string; payload: P; } 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; } type AnalyticsInvertPayload = UndoAnalyticsEventPayload | RedoAnalyticsEventPayload; export 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 {};