export type EventCallback = (sender: TSender, args: TArgs) => void; export type EventFilter = (sender: TSender, args: TArgs) => boolean; export declare class KisEventTicket { private readonly handler; private readonly callback; private active; constructor(handler: KisEventHandler, callback: EventCallback); get registered(): boolean; unsubscribe(): void; } export declare class KisEventHandler { private readonly handlers; add(handler: EventCallback): KisEventTicket; on(handler: EventCallback, options?: { where?: EventFilter; once?: boolean; }): KisEventTicket; once(handler: EventCallback, where?: EventFilter): KisEventTicket; remove(handler: EventCallback): void; clear(): void; has(handler: EventCallback): boolean; invoke(sender: TSender, args: TArgs): void; }