@diffusionstudio/core-v4
Version:
2D motion graphics and video rendering engine
15 lines (14 loc) • 898 B
TypeScript
import { Constructor } from '../../types';
import { BaseEvents, EmittedEvent } from './types';
export declare function EventEmitterMixin<Events = {}, T extends Constructor = Constructor>(Base: T): {
new (...args: any[]): {
_handlers: { [T_1 in keyof BaseEvents<Events>]?: {
[x: string]: (event: EmittedEvent<BaseEvents<Events>[T_1], any>) => void;
}; };
on<T_1 extends keyof BaseEvents<Events>>(eventType: T_1, callback: (event: EmittedEvent<BaseEvents<Events>[T_1], /*elided*/ any>) => void): string;
off(id?: string | "*", ...ids: string[]): void;
emit<T_1 extends keyof BaseEvents<Events>>(eventType: T_1, detail: BaseEvents<Events>[T_1]): void;
bubble(target: /*elided*/ any): string;
resolve(eventType: keyof BaseEvents<Events>): (resolve: (value: unknown) => void, reject: (reason?: any) => void) => void;
};
} & T;