declare type FunctionParameters any> = T extends (...args: infer P) => any ? P : never; export declare class EventEmitter any> { handlers: Array; register(cb: CallbackSignature, once?: boolean): this; invoke(...args: FunctionParameters): void; invokeAsync(...args: FunctionParameters): Promise; remove(cb: CallbackSignature): void; clear(): void; } export declare function createSignal void | Promise>(): { (this: any, cb: CallbackSignature): EventEmitter; once(cb: CallbackSignature): void; remove(cb: CallbackSignature): void; invoke(...args: FunctionParameters): void; invokeAsync(...args: FunctionParameters): Promise; clear(): void; }; export {};