import type { RemoveListener } from '@prezly/events'; import { Events } from '@prezly/events'; import { type SlateEditor } from '@udecode/plate-common'; import { EVENTS_PROPERTY } from './constants'; import type { EditorEventMap } from './types'; import type { EditorEventHandlers } from './types'; export declare abstract class EventsEditor { static addEventListener(editor: SlateEditor, event: Event, listener: EditorEventHandlers[Event]): RemoveListener; static dispatchEvent(editor: SlateEditor, event: Event, ...rest: EditorEventMap[Event] extends never ? [never?] : [EditorEventMap[Event]]): void; static isEventsEditor: (value: unknown) => value is EventsEditor; abstract [EVENTS_PROPERTY]: Events; }