import { EventDetails, EventListenerOptions, EventListenerRegister } from "@scrypted/types"; export declare class EventListenerRegisterImpl implements EventListenerRegister { removeListener: () => void; constructor(removeListener: () => void); } export declare function getMixinEventName(options: string | EventListenerOptions): string; export declare class EventRegistry { systemListeners: Set<(id: string, eventDetails: EventDetails, eventData: any) => void>; listeners: { [token: string]: Set<(eventDetails: EventDetails, eventData: any) => void>; }; listen(callback: (id: string, eventDetails: EventDetails, eventData: any) => void): EventListenerRegister; listenDevice(id: string, options: string | EventListenerOptions, callback: (eventDetails: EventDetails, eventData: any) => void): EventListenerRegister; notify(id: string | undefined, eventTime: number, eventInterface: string, property: string | undefined, value: any, options?: { changed?: boolean; mixinId?: string; }): boolean; notifyEventDetails(id: string | undefined, eventDetails: EventDetails, value: any, eventInterface?: string): boolean; }