/** * @module Viewer/EventFan * Provides a facility to raise an event. */ /** * Event Handler * @typeparam TArgs event argument type */ export type EventHandler = (arg: TArgs) => any; /** Unsubscribe event handler */ export type UnregisterHandler = () => any; /** * Event * @typeparam TArgs event argument type */ export declare class EventFan { private _eventHandlers; private _trigger; private static _lastKey; private static generateKey; private constructor(); /** * Creates a cancellation token and the trigger function. * @param parentToken */ static createFor(): { event: EventFan; trigger: (e: TArgs) => void; }; /** * Registers a new event handler. The handler is invoked when the cancellation is requested. * @param callback */ register(callback: (args: TArgs) => any): UnregisterHandler; }