@mini-markdown-rc/editor
Version:
54 lines (53 loc) • 1.49 kB
TypeScript
import { EventEmitter } from 'events';
export interface EventCallback {
(...args: any[]): void;
}
interface BaseConfig {
name?: string;
maxListeners?: number;
}
export declare abstract class BaseClass {
protected readonly config: BaseConfig;
protected readonly eventEmitter: EventEmitter;
protected readonly logger: Console;
protected isDestroyed: boolean;
constructor(config?: BaseConfig);
protected error(...args: unknown[]): void;
/**
* 添加事件监听器
* @param event 事件名称
* @param listener 监听器回调函数
*/
on(event: string, listener: EventCallback): void;
/**
* 一次性事件监听器
* @param event 事件名称
* @param listener 监听器回调函数
*/
once(event: string, listener: EventCallback): void;
/**
* 移除事件监听器
* @param event 事件名称
* @param listener 监听器回调函数
*/
off(event: string, listener: EventCallback): void;
/**
* 触发事件
* @param event 事件名称
* @param args 事件参数
*/
protected emit(event: string, ...args: unknown[]): void;
isDestroy(): boolean;
/**
* 获取当前注册的所有事件
*/
getEvents(): string[];
/**
* 获取特定事件的监听器数量
* @param event 事件名称
*/
listenerCount(event: string): number;
destroy(): void;
protected checkDestroyed(): void;
}
export {};