import { LitElement } from 'lit';
export interface AvatarGroupProps {
    max?: number;
    size?: 'xs' | 'sm' | 'md';
}
declare const AvatarGroup_base: (new (...args: any[]) => import("../../util/EventEmitterMixin.js").EventEmitterMixinInterface) & (new (...args: any[]) => import("../../util/ReadyMixin.js").ReadyMixinInterface) & typeof LitElement;
/**
 * A container component for grouping multiple avatars with consistent styling.
 *
 * AvatarGroup wraps multiple avatar elements and provides:
 * - Overflow handling (shows "+N" for excess avatars)
 * - Consistent spacing and ring borders
 * - Size inheritance for all child avatars
 *
 * @element btu-avatar-group
 *
 * Ring styling is inherited from child `btu-avatar` elements. Override via
 * `--avatar-ring-color` and `--avatar-ring-width` on the group or on individual avatars.
 *
 * @fires {CustomEvent} btu-avatar-group-ready - Fired after first render and initialization
 * @fires {CustomEvent<{hidden: number}>} btu-avatar-group-overflow - Fired when avatars are hidden due to max limit
 *
 * @example
 * ```html
 * <!-- Basic group -->
 * <btu-avatar-group max="3">
 *   <btu-avatar src="..." fallback="AB"></btu-avatar>
 *   <btu-avatar src="..." fallback="DG"></btu-avatar>
 *   <btu-avatar fallback="JP"></btu-avatar>
 * </btu-avatar-group>
 * ```
 */
export default class AvatarGroup extends AvatarGroup_base {
    /**
     * Maximum number of visible avatars. Remaining avatars shown as "+N"
     * @attr
     */
    max?: number;
    /**
     * Size variant for all child avatars (unless individually overridden)
     * @attr
     */
    size: 'xs' | 'sm' | 'md';
    /** @internal */
    private initialClasses;
    /** @internal */
    private overflowAvatar;
    /** @internal */
    private managedAvatars;
    connectedCallback(): void;
    createRenderRoot(): this;
    willUpdate(): void;
    firstUpdated(): void;
    /**
     * Process all avatar children: apply size, handle overflow
     * Call this method when avatars are dynamically added or removed
     */
    processAvatars(): void;
    /**
     * Create and append the overflow avatar showing "+N"
     * @internal
     */
    private createOverflowAvatar;
    updated(changedProperties: Map<string, any>): void;
    render(): import("lit-html").TemplateResult<1>;
}
declare global {
    interface HTMLElementTagNameMap {
        'btu-avatar-group': AvatarGroup;
    }
}
export {};
//# sourceMappingURL=AvatarGroup.d.ts.map