/** * Most-recently-used ordering for overflow tab-switching, private to the * advanced overflow module. * * Keeps, per group, the group's panel ids ordered by last activation; the front * is the most recently activated. Component-scoped (one tracker per component) so * recency survives a group closing and a panel moving between groups. There is * no second consumer, so this deliberately stays a module-local model rather * than a shared core primitive. */ export declare class MruTracker { private readonly _byGroup; /** * Seed a group's recency list from its current tab order (front = first * tab). Called on group attach. Idempotent: re-seeding replaces the list, * but existing recency is preserved for ids already tracked so a re-attach * doesn't reset ordering. */ attach(groupId: string, panelIds: readonly string[]): void; /** Drop a group's recency list, called when the group is removed. */ detach(groupId: string): void; /** * Record an activation: move `panelId` to the front of `groupId`'s list. * The panel is first removed from every other group's list so a cross-group * move leaves the source list and enters the destination. */ activate(groupId: string, panelId: string): void; /** Remove a panel from every group's list, called when a panel is closed. */ remove(panelId: string): void; /** * The recency order (front = most recent) for a group, or an empty list * when the group is not tracked. */ order(groupId: string): string[]; /** Whether a group currently has a recency list. */ has(groupId: string): boolean; }