import { NodePart, AttributePart, BooleanAttributePart, EventPart, PropertyPart } from "lit-html"; /** ################################################################################# ** The purpose of this module is to provide an API to clean up the node parts cache. ** This is to avoid memory leaks from parts being added and removed to the template. ** This is necessary since lit-html currently do not provide a way of cleaning up after a directive. ** In the ideal world we would be able to cache the parts in a weakmap, however that makes ** us unable to loop over the map which is required for updating the translations when the lang changes. ** This module will be obsolete the day lit-html provides a way of cleaning up after a directive ** ################################################################################## /** * Check whether the part is still connected / has been removed from the DOM. * @param part */ export declare function isConnected(part: NodePart | AttributePart | BooleanAttributePart | EventPart | PropertyPart): boolean; /** * Removes the disconnected parts from the cache. */ export declare function removeDisconnectedParts(map: Map): void; /** * Invokes a callback when the browser is idle. * Fallback to setTimeout. * @param cb */ export declare function whenIdle(cb: (() => void)): void; /** * Starts an interval that cleans up the part cache map each X ms. * @param map * @param ms */ export declare function attachPartsGarbageCollector(map: Map, ms: number): void;