import { type KnytElementComposed } from "./KnytElementComposed.ts"; /** * Perform the update of the previous constructor to the next constructor. * * @remarks * * This function should only be called from the previous constructor's * `[__knytElementComposedHotUpdate]` static method, which is called * by the HMR runtime whenever the module defining the constructor * is replaced. * * This function is asynchronous, but should not await element operations. * It does, however, await microtasks at certain points to allow * any pending updates or disconnections to complete before proceeding. * * It performs the following steps: * * 0. If for some reason both constructors are the same, do nothing. * 1. Replace `properties` static property. * 2. Update reactive properties as defined on the prototype. * 3. Replace `lifecycle` static method. * 4. Replace `styleSheet` static property. * 5. For each existing instance: * 1. Simulate disconnection for each connected instance. * 2. If the element is not connected, do nothing. * 6. From each instance, remove all current delegates, controllers, * renderers, and style sheets. * 7. Update reactivity on each instance. * 8. Perform post-construction logic for each instance. * 9. Update the renderer function for each instance. * 10. For each existing instance: * 1. Simulate reconnection for each previously connected instance. * 2. If the element is not connected, request an update. * * @internal scope: package */ export declare function performHotUpdate({ tagName, prevConstructor, nextConstructor, instances, }: { /** * The tag name of the element being updated. * Should only be used for logging purposes. */ tagName: string; prevConstructor: KnytElementComposed.Constructor; nextConstructor: KnytElementComposed.Constructor; instances: HTMLElement[]; }): Promise; //# sourceMappingURL=performHotUpdate.d.ts.map