export interface Action { (item: T): void; } export interface Func { (item: T): TResult; } export declare class BabyEvent { listeners: Array>; constructor(); addListener(listener: Action): boolean; removeListener(listener: Action): boolean; invoke(args: T): void; clone(): BabyEvent; copy(other: BabyEvent): void; }