export type BeforeExitListener = () => Promise | void; export declare class ExitHooks { private nextOwnerId; private ownerToIdMap; private idToListenerMap; private areHooksInstalled; install(): void; setListener(owner: object, listener: BeforeExitListener | undefined): void; getListener(owner: object): BeforeExitListener | undefined; private installHook; }