import { Dispatch } from "../../../event-dispatcher/index.js";
import { SimplifiedNode } from "../../../utils/document-logger.js";
import { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID } from "./enums.js";
import { ExperimentalEventPayload } from "./experimental-events.js";
import { FormatEventPayload } from "./format-events.js";
import { GeneralEventPayload } from "./general-events.js";
import { HistoryEventPayload } from "./history-events.js";
import { InsertEventPayload } from "./insert-events.js";
import { MediaEventPayload } from "./media-events.js";
import { NodeEventPayload } from "./node-events.js";
import { PasteEventPayload } from "./paste-events.js";
import { SubstituteEventPayload } from "./substitute-events.js";
import { TableEventPayload } from "./table-events.js";
import { OperationalAEP } from "./utils.js";
export declare type AnalyticsEventPayload = GeneralEventPayload | FormatEventPayload | SubstituteEventPayload | InsertEventPayload | NodeEventPayload | MediaEventPayload | TableEventPayload | PasteEventPayload | ErrorEventPayload | HistoryEventPayload | ExperimentalEventPayload;
export declare type AnalyticsEventPayloadWithChannel = {
    channel: string;
    payload: AnalyticsEventPayload;
};
export declare type AnalyticsDispatch = Dispatch<{
    payload: AnalyticsEventPayload;
    channel?: string;
}>;
declare type InvalidTransactionErrorAEP = OperationalAEP<ACTION.DISPATCHED_INVALID_TRANSACTION, ACTION_SUBJECT.EDITOR, undefined, {
    analyticsEventPayloads: AnalyticsEventPayloadWithChannel[];
    invalidNodes: (SimplifiedNode | string)[];
}, undefined>;
declare type FailedToUnmountErrorAEP = OperationalAEP<ACTION.FAILED_TO_UNMOUNT, ACTION_SUBJECT.EDITOR, ACTION_SUBJECT_ID.REACT_NODE_VIEW, {
    error: Error;
    domNodes: {
        container?: string;
        child?: string;
    };
}, undefined>;
export declare type ErrorEventPayload = InvalidTransactionErrorAEP | FailedToUnmountErrorAEP;
export {};
