export type CachedRendererSlot = { component: T; wrapped: unknown; }; export declare class MountRegistry { private entries; private nextId; /** Per-accessor cached cellRenderer wrappers. */ readonly cellRendererCache: Map>; /** Per-accessor cached headerRenderer wrappers. */ readonly headerRendererCache: Map>; /** * Register a dispose callback for a mount container. Tags the container so * {@link disposeHost} can find it when core discards an ancestor host. */ register(container: HTMLElement, dispose: () => void): void; /** True when `container` is a live registered mount host (not yet disposed). */ isRegistered(container: HTMLElement): boolean; /** * Tear down mounts owned by a host element core is permanently discarding. * Collects `host` itself plus every descendant tagged with {@link MOUNT_ID_ATTR}. */ disposeHost: (host: HTMLElement) => void; /** Dispose every tracked mount (used on table teardown). */ clear(): void; /** * Drop cached wrappers for accessors no longer present in the header tree. */ pruneRendererCaches(liveAccessors: ReadonlySet): void; /** Test helper — number of live mounts. */ get size(): number; }