@gravity-ui/graph
Version:
Modern graph editor component
18 lines (17 loc) • 680 B
TypeScript
type EmitterEventsDefinition = Record<string, (...args: unknown[]) => void>;
export declare class Emitter<T extends EmitterEventsDefinition = EmitterEventsDefinition> {
private gcLaunched;
private eventsForGC?;
private mapEventToFnWrapper?;
private mapEventToMapFnToFnWrapper?;
constructor();
on<Name extends keyof T>(event: Name, fn: T[Name]): this;
once<Name extends keyof T>(event: Name, fn: T[Name]): this;
off<Name extends keyof T>(event?: Name, fn?: T[Name]): this;
emit<Name extends keyof T>(event: Name, ...args: Parameters<T[Name]>): this;
destroy(): void;
private _on;
private _launchGC;
private _walkGC;
}
export {};