@gdyfe/ssml
Version:
18 lines (17 loc) • 780 B
TypeScript
import type { IDomEditor } from '@wangeditor/editor';
declare const emitter: EventBus;
export { emitter };
interface EmitterEventMap {
warn: [message: string];
error: [error: unknown];
'view-click': [event: MouseEvent];
'view-keydown': [event: KeyboardEvent];
'editor-created': [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;
}