export type Observer = { observe(target: Target): void; disconnect(): void; }; export type ObserverCallback = (entries: Entry[]) => void; export type ObserverConstructor = { prototype: Observer; new(callback: ObserverCallback): Observer; };