import { AvatarGroupOptions, AvatarGroupSpacing } from './avatar-group.types'; /** * Headless avatar-group controller. Lays out a set of `[data-c42-avatar]` * children as an overlapping stack and optionally collapses the overflow into * a `[data-c42-avatar-overflow]` chip. It manages state, ARIA and `data-*` * only; the overlap visuals live entirely in CSS, which reacts to * `data-stacked` / `data-spacing`. * * Markup: * ```html *
*
*
*
* *
* ``` */ export declare class AvatarGroup { private readonly root; private readonly overflowEl; private stacked; private spacing; private maxVisible; private label; private cleanups; constructor(root: HTMLElement, options?: AvatarGroupOptions); private init; /** Direct-child avatars, in document order (excludes the overflow chip). */ private avatars; private counts; private render; private emit; /** Toggle the overlapping stack layout. */ setStacked(stacked: boolean): void; /** Change the overlap distance preset. */ setSpacing(spacing: AvatarGroupSpacing): void; /** Set the maximum visible avatars (`0` clears the limit). */ setMax(max: number): void; /** Recompute visibility/overflow after avatars are added or removed. */ refresh(): void; get total(): number; /** Subscribe to a DOM event on the root element. Returns an unsubscribe fn. */ on(event: string, handler: (event: E) => void): () => void; destroy(): void; }