import { AddEvent, RemoveEvent, RenameEvent, UpdateEvent } from "../docs/docs"; import Snapshot from "../vom/snapshot"; declare class EventsManager { #private; readonly emit: { /** * Emits an `update` event with the specified UpdateEvent. * @param event - The `UpdateEvent` to emit. */ update: (event: UpdateEvent) => void; /** * Emits a `remove` event with the specified RemoveEvent. * @param event - The `RemoveEvent` to emit. */ remove: (event: RemoveEvent) => void; /** * Emits a `rename` event with the specified RenameEvent. * @param event - The `RenameEvent` to emit. */ rename: (event: RenameEvent) => void; /** * Emits an `add` event with the specified AddEvent. * @param event - The `AddEvent` to emit. */ add: (event: AddEvent) => void; /** * Emits a `snapshotRemoved` event with the specified Snapshot. * This event is emitted whenever a Snapshot is removed from the VirtualObjectManager. * @param snapshot - The Snapshot that was removed. */ snapshotRemoved: (snapshot: Snapshot) => void; /** * Emits an `overwatch:shutdown` event, which is emitted whenever Overwatch is * shut down. */ shutdown: () => void; }; on(event: 'update', listener: (event: UpdateEvent) => void): void; on(event: 'remove', listener: (event: RemoveEvent) => void): void; on(event: 'renamed', listener: (event: RenameEvent) => void): void; on(event: 'add', listener: (event: AddEvent) => void): void; on(event: 'snapshotRemoved', listener: (snapshot: Snapshot) => void): void; on(event: 'shutdown', listener: () => void): void; } declare const eventsManager: EventsManager; export default eventsManager;