export declare type TSignalHandler = (...rest: GHP) => GHR; export interface ISignal { add: (handler: TSignalHandler, callAtInit?: boolean | GHP) => () => void; once: (handler: TSignalHandler) => () => void; remove: (handler: TSignalHandler) => void; dispatch: (...rest: GHP) => GHR[]; clear: () => void; readonly listeners: TSignalHandler[]; } export declare function Signal(): ISignal; export default Signal;