UNPKG

@gdyfe/ssml

Version:
17 lines (16 loc) 880 B
import type { IDomEditor } from '@wangeditor/editor'; import type { SSMLBaseElement } from './base'; type Result<T, Output> = T extends undefined ? undefined : Output; export declare function getEmitter<T extends IDomEditor | undefined>(editor: T): Result<T, EventBus>; interface EmitterEventMap { 'ssml-remark-click': [editor: IDomEditor, elem: SSMLBaseElement]; 'ssml-update': [editor: IDomEditor]; } type EmitterMethod<K extends keyof EmitterEventMap> = (...args: EmitterEventMap[K]) => void; interface EventBus { emit<K extends keyof EmitterEventMap>(type: K, ...args: EmitterEventMap[K]): void; off<K extends keyof EmitterEventMap>(type: K, listener: EmitterMethod<K>): void; on<K extends keyof EmitterEventMap>(type: K, listener: EmitterMethod<K>): void; once<K extends keyof EmitterEventMap>(type: K, listener: EmitterMethod<K>): void; } export {};