import Observer, { IEvent } from "./Observer"; import TimeObserver, { ITimeEvent } from "./TimeObserver"; export default class Observable { private observers; constructor(); observeTimeOnce(time: number, callback: (event: TEvent) => void): TimeObserver; observeTime(time: number, callback: (event: TEvent) => void): TimeObserver; observeOnce(type: string, callback: (event: IEvent) => void): Observer; observe(type: string, callback: (event: TEvent) => void): Observer; notify(event: TEvent): void; clearObservers(): void; dispose(): void; }