import type { escortID, eventName, Handler, IEscort, IManager } from '../io.js'
import type { IDataEscort } from '../DataManager/DataEscort/DataEscort.js'
export declare type EventHandler = Handler<IDataEscort>
export declare class EventManager implements IManager<EventEscort> {
  namespace: string
  private _escorts
  private _events
  constructor(namespace: string)
  spawn(event: string, callback?: EventHandler): EventEscort
  get(entity: string | EventEscort): EventEscort | undefined
  drop(entity: string | EventEscort): boolean
  get pool(): Map<string, EventEscort>
  get events(): string[]
}
export declare class EventEscort implements IEscort<EventHandler> {
  private _id
  private _event
  private _handler
  constructor(_id: escortID, _event: eventName, callback?: EventHandler)
  execute(escort: IDataEscort): void
  get used(): EventHandler
  set used(callback: EventHandler)
  get id(): string
  get event(): string
}
//# sourceMappingURL=EventManager.d.ts.map
