import { CreateUIAnalyticsEvent } from '@uidu/analytics';
import { Node as PMNode } from 'prosemirror-model';
import { Mappable, ReplaceStep, Step, StepMap, StepResult } from 'prosemirror-transform';
import { AnalyticsEventPayloadWithChannel } from './types';
export declare const analyticsStepType = "uidu-analytics";
/**
 * 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: AnalyticsEventPayloadWithChannel[];
    createAnalyticsEvent: CreateUIAnalyticsEvent;
    pos?: number;
    constructor(createAnalyticsEvent: CreateUIAnalyticsEvent, analyticsEvents: AnalyticsEventPayloadWithChannel[], 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;
    toJSON(): {
        stepType: string;
    };
    static fromJSON(): ReplaceStep;
}
