import mitt, { type Emitter } from 'mitt'; export const enum EmitterEvents { RICH_TEXT_COMMAND = 'RICH_TEXT_COMMAND', SYNC_RICH_TEXT_ATTRS_TO_STORE = 'SYNC_RICH_TEXT_ATTRS_TO_STORE', OPEN_CHART_DATA_EDITOR = 'OPEN_CHART_DATA_EDITOR', OPEN_LATEX_EDITOR = 'OPEN_LATEX_EDITOR', } export interface RichTextAction { command: string; value?: string; } export interface RichTextCommand { target?: string; action: RichTextAction | RichTextAction[]; } type Events = { [EmitterEvents.RICH_TEXT_COMMAND]: RichTextCommand; [EmitterEvents.SYNC_RICH_TEXT_ATTRS_TO_STORE]: void; [EmitterEvents.OPEN_CHART_DATA_EDITOR]: void; [EmitterEvents.OPEN_LATEX_EDITOR]: void; }; const emitter: Emitter = mitt(); export default emitter;