/**
* JQHTML v2 Lifecycle Manager
*
* Components boot when created. Boot is the first entry on the component's lifecycle
* queue (component-queue.ts): it holds the component's lock from boot start through the
* end of its on_ready(), so a render()/load()/reload()/refresh() made meanwhile -
* on_ready() included - waits and runs after it. When calls are waiting as boot ends,
* 'ready' fires once they have run (the queue is idle).
*
* Lifecycle order:
* 1. create() - SYNC - Calls on_create() BEFORE first render
* 2. render() - SYNC - Creates DOM, instantiates child components, calls on_render()
* 3. _load() - ASYNC - Calls on_load() if overridden, may trigger re-render if this.data changes.
* Every component then gets on_loaded() and 'loaded' (without on_load(), at this point).
* 4. ready() - ASYNC - Waits for children to be ready, calls on_ready()
*
* Key insight: create/render/on_render are synchronous. If a component doesn't
* override on_load(), the entire create→render→on_render chain completes without
* yielding to the event loop. This means parent components can access child
* components in their on_render() as long as the children don't have async on_load().
*/
import type { Jqhtml_Component } from './component.js';
export type LifecyclePhase = 'render' | 'create' | 'load' | 'ready';
export declare class LifecycleManager {
private static instance;
static get_instance(): LifecycleManager;
constructor();
/**
* Boot a component - run its full lifecycle
* Called when component is created
*
* Supports lifecycle truncation flags:
* - _load_only: on_create + on_load only. No render, no children, no on_render, no on_loaded/'loaded', no on_ready.
* - _load_render_only: on_create + render + on_load + re-render. No on_render, no on_loaded/'loaded', no on_ready.
*/
boot_component(component: Jqhtml_Component): Promise;
}
//# sourceMappingURL=lifecycle-manager.d.ts.map