import type { HostElement } from "./x-x.types"; declare class CleanupScheduler { private pending; private isScheduled; /** * Schedule a deferred cleanup for a disconnected component. * The actual teardown runs in a microtask so that DOM moves * (disconnect → reconnect in the same tick) can cancel it. */ scheduleDisconnect(component: HostElement): void; /** Cancel a pending disconnect (called from connectedCallback on move). */ cancelDisconnect(component: HostElement): void; /** Run full teardown for components that are truly gone. */ private flush; reset(): void; } /** * Immediate, synchronous teardown of all component reactive state. * Runs cleanups, clears subscriptions, resets mount flag. * Does NOT clear _view, _props, or oldView — the caller decides those. */ export declare function resetComponentState(comp: HostElement): void; declare class EffectScheduler { private pendingEffects; isScheduled: boolean; private _isFlushing; get isFlushing(): boolean; reset(): void; schedule(effectFn: () => void): void; flush(): void; } declare class RenderScheduler { private pendingComponents; private nextPendingComponents; /** Components in the current sorted wave, used to dedup mid-flush schedules. */ private _currentWave; isScheduled: boolean; private _isFlushing; private _flushVersion; /** Callbacks to run once after all pending renders (including deferred children) complete. */ private _onIdleCallbacks; /** Monotonically increasing counter stamped on each flush cycle. */ get flushVersion(): number; /** * Register a one-shot callback that fires after the render scheduler * has fully settled (no more pending or next-pending components). * Used by onAllMount to wait for all descendants to mount. */ onceIdle(fn: () => void): void; private _drainIdleCallbacks; reset(): void; schedule(component: HostElement): void; flush(): void; } export declare const cleanupScheduler: CleanupScheduler; export declare const effectScheduler: EffectScheduler; export declare const globalScheduler: RenderScheduler; export {}; //# sourceMappingURL=scheduler.d.ts.map