import{type TemplateResult}from'lit';import{LyraElement}from'../../../internal/lyra-element.js';import type{LyraFrame}from'../../../internal/variants.js';import type{LyraEntity}from'../entity-card/entity-card.class.js';export type{LyraEntity}from'../entity-card/entity-card.class.js';import'../../overlays/chip/chip.class.js';import'../../forms/button/button.class.js';import'../../overlays/empty/empty.class.js';export interface LyraCommunity{id:string;label:string;summary?:string; /** Total record count for paged data. Values below the supplied `members.length` cannot reduce * the truthful known count; omitted values use `members.length`. */ memberCount?:number;} /** Container treatment for ``'s root. The library-wide {@linkcode LyraFrame} * vocabulary under this component's own export name. */ export type CommunityCardAppearance=LyraFrame;export interface LyraCommunityCardEventMap{ /** The drill button, header, or overflow chip -- all three mean "show me this whole community". */ 'lr-drill':CustomEvent<{communityId:string;}>;'lr-entity-activate':CustomEvent<{entityId:string;}>;} /** * `` — a cluster/community summary card (GraphRAG community report): label, * LLM summary excerpt, member count, member chips with overflow, and a drill-in action. Doesn't * own community rendering on the graph or membership fetching -- `lr-drill` asks the host to * load members/subgraph. * * Public collection properties take bounded, clone-owned readonly snapshots. Create a new * collection and reassign it after changes; mutating the assigned array does not update the view. * * @customElement lr-community-card * @slot actions - Extra header actions alongside the built-in drill button. * @event lr-drill - `detail: { communityId }`. * @event lr-entity-activate - A member chip was activated. `detail: { entityId }`. * @csspart base - The outer bordered container. * @csspart header - The header row. * @csspart title - The community label, `role="heading" aria-level="3"` wrapping a `