export type DestructorFn = () => void | Promise<void> | Promise<void[]>;
export type Destructors = Array<DestructorFn>;
export declare function destroySync(ctx: object): void;
export declare function destroy(ctx: object, promises?: Array<Promise<void>>): void;
export declare function registerDestructor(ctx: object, ...fn: Destructors): void;
export declare function isDestroyed(ctx: object): boolean;
export declare function associateDestroyableChild(parent: object, child: object): void;
