import{type PropertyValues,type TemplateResult}from'lit';import{LyraElement}from'../../../internal/lyra-element.js';import type{LyraNodeTypeStyle}from'../../../internal/node-type-style.js';export type{LyraNodeTypeStyle}from'../../../internal/node-type-style.js';import'../breadcrumb/breadcrumb.class.js';import'../breadcrumb/breadcrumb-item.class.js';import'../tab-group/tab-group.class.js';import'../tab-group/tab.class.js';import'../tab-group/tab-panel.class.js';import'../../viewers/document-preview/document-preview.class.js';import'../../retrieval/entity-card/entity-card.class.js';import'../../retrieval/source-card/source-card.class.js';import'../../forms/button/button.class.js';import'../../overlays/empty/empty.class.js';export type LyraDrilldownCategory='evidence'|'documents'|'entities'|'runs'; /** One immutable citation/source excerpt in a drilldown node. */ export interface LyraDrilldownEvidenceItem{readonly evidenceId:string;readonly title:string;readonly page?:string|number;readonly href?:string;readonly excerpt?:string;readonly full?:string;} /** One immutable document reference in a drilldown node. */ export interface LyraDrilldownDocument{readonly documentId:string;readonly name:string;readonly mimeType?:string;readonly uri?:string;readonly version?:string;} /** One immutable entity record in a drilldown node. */ export interface LyraDrilldownEntity{readonly entityId:string;readonly label:string;readonly type?:string;readonly description?:string;readonly properties?:Readonly>;readonly degree?:number;readonly communityId?:string;} /** A node-type style forwarded to the composed entity cards. */ /** One immutable level of the controlled drilldown path. */ export interface LyraDrilldownNode{readonly nodeId:string;readonly label:string;readonly evidence?:readonly LyraDrilldownEvidenceItem[];readonly documents?:readonly LyraDrilldownDocument[];readonly entities?:readonly LyraDrilldownEntity[];} /** `detail` for `lr-drilldown-navigate`. */ export interface LyraDrilldownNavigateDetail{readonly nodeId:string;readonly index:number;} /** `detail` for the controlled `lr-drilldown-category-change` request. */ export interface LyraDrilldownCategoryChangeDetail{readonly nodeId:string;readonly category:LyraDrilldownCategory;readonly previousCategory:LyraDrilldownCategory;}export interface LyraDrilldownEvidenceExpandDetail{readonly nodeId:string;readonly evidenceId:string;readonly expanded:boolean;}export interface LyraDrilldownEvidenceOpenDetail{readonly nodeId:string;readonly evidenceId:string;readonly href?:string;}export interface LyraDrilldownDocumentDownloadDetail{readonly nodeId:string;readonly documentId:string;readonly src:string;readonly filename:string;}export interface LyraDrilldownDocumentRenderErrorDetail{readonly nodeId:string;readonly documentId:string;readonly error:unknown;}export interface LyraDrilldownDocumentHighlightActivateDetail{readonly nodeId:string;readonly documentId:string;readonly highlightId:string;}export interface LyraDrilldownEntityActivateDetail{readonly nodeId:string;readonly entityId:string;}export interface LyraDrilldownPanelEventMap{'lr-drilldown-navigate':CustomEvent;'lr-drilldown-category-change':CustomEvent;'lr-drilldown-evidence-expand':CustomEvent;'lr-drilldown-evidence-open':CustomEvent;'lr-drilldown-document-download':CustomEvent;'lr-drilldown-document-render-error':CustomEvent;'lr-drilldown-document-highlight-activate':CustomEvent;'lr-drilldown-entity-activate':CustomEvent;} /** * `` — a controlled navigation and category shell for related evidence, * documents, entities, and host-rendered agent runs. * * `path` is normalized into a bounded, clone-owned, deeply frozen snapshot. Nodes use `nodeId`, * evidence uses `evidenceId`, documents use `documentId`, and entities use `entityId`; invalid or * later duplicate identities are ignored. Activating a non-current breadcrumb emits a frozen * `lr-drilldown-navigate` request and never mutates `path`. * * `activeCategory` is controlled too. The first available category is the fallback while the * property is empty or unavailable. A tab interaction emits `lr-drilldown-category-change`, then * restores the authored category unless the host accepts the request by assigning the property. * Only the effective category's children are mounted. Its records are paged eight at a time, so a * document category owns at most eight simultaneous `lr-document-preview` resource lifecycles; * replacement, paging, category changes, and disconnect remove obsolete previews and let each * preview abort its owner-realm fetch. A localized range reports every bounded page and any input * omitted by the schema ceiling. * * Events from composed source cards, document previews, entity cards, and tabs do not leak raw. * Each supported child event is either contained or translated to a drilldown event carrying the * current `nodeId` plus its domain item identity. Events from consumer-owned `runs` slot content * remain consumer-owned and continue bubbling normally. * * @customElement lr-drilldown-panel * @slot runs - Host-rendered agent-run content for the current node's Agent runs category. * @event lr-drilldown-navigate - Frozen breadcrumb request detail `{ nodeId, index }`. * @event lr-drilldown-category-change - Frozen controlled request detail `{ nodeId, category, previousCategory }`. * @event lr-drilldown-evidence-expand - Correlated evidence expansion detail. * @event lr-drilldown-evidence-open - Correlated evidence activation detail. * @event lr-drilldown-document-download - Correlated document download detail. * @event lr-drilldown-document-render-error - Correlated document render failure detail. * @event lr-drilldown-document-highlight-activate - Correlated document highlight detail. * @event lr-drilldown-entity-activate - Correlated entity activation detail. * @csspart base - The root wrapper. * @csspart breadcrumb - The nested breadcrumb trail. * @csspart breadcrumb-item - One nested breadcrumb item. * @csspart breadcrumb-button - A non-current breadcrumb's clickable label. * @csspart content - The current category content or empty state. * @csspart tabs - The nested tab group when multiple categories are available. * @csspart category - The mounted active category wrapper. * @csspart evidence-item - One nested source card. * @csspart document-item - One nested document preview. * @csspart entity-item - One nested entity card. * @csspart pagination - Controls and range summary for a bounded category page. * @csspart pagination-summary - The localized visible range. * @csspart previous-button - The previous-page button. * @csspart next-button - The next-page button. * @csspart limit - A localized range reporting schema-truncated input. * @csspart empty - The empty state. * @status stable * @since 4.1.0 */ export declare class LyraDrilldownPanel extends LyraElement{static styles:import("lit").CSSResultGroup[];private effectivePath;private pathSourceCount;private pathRevision;private categorySourceCounts; /** Full host-owned breadcrumb trail. Assigning snapshots valid records into bounded immutable * storage; invalid records and later duplicate `nodeId` values are ignored. */ get path():readonly LyraDrilldownNode[];set path(value:readonly LyraDrilldownNode[]);private effectiveTypes; /** Immutable node-type styling forwarded to entity cards. Invalid and duplicate entries are * ignored. This is structurally identical to the graph/entity node-style vocabulary. */ get types():readonly LyraNodeTypeStyle[];set types(value:readonly LyraNodeTypeStyle[]);private activeCategoryValue; /** Host-owned active category. Empty or unavailable values resolve to the first populated * category without changing the authored value. User interaction emits a request only. */ get activeCategory():LyraDrilldownCategory|'';set activeCategory(value:LyraDrilldownCategory|''); /** Forwarded to every nested entity card. */ communityLabel:string; /** Forwarded to every nested entity card. */ showFocusButton:boolean; /** Accessible name forwarded to the current category owner. `null` leaves a tab strip unnamed * and uses the category label for a sole region; an explicit empty string is preserved. */ accessibleLabel:string|null;private hasRunsSlot;private categoryPage;private pageContext;private mutationObserver?;private mutationObserverDocument?;private mutationObserverGeneration;private announcementSink?;private announcementsArmed;private announcedLimits;connectedCallback():void;private armMutationObserver;disconnectedCallback():void;adoptedCallback():void;private syncAnnouncementSink;private releaseAnnouncementSink;private resetMutationObserver;private syncRunsSlot;private get currentNode();private categoriesFor;private resolvedCategory;protected willUpdate(changed:PropertyValues):void;protected updated(changed:PropertyValues):void;private navigateTo;private stopOwnedEvent;private onCategoryShow;private onEvidenceExpand;private onEvidenceOpen;private onDocumentDownload;private onDocumentRenderError;private onDocumentHighlightActivate; /** Bound to `lr-entity-select` on every nested `lr-entity-card`, translated into exactly one * `lr-drilldown-entity-activate`. */ private onEntityActivate;private renderEvidence;private renderDocuments;private entityCardValue;private renderEntities;private formatCount;private rangeSummary;private changePage;private currentLimitAnnouncements;private pathLimitSummary;private renderPage;private renderCategory;private renderBreadcrumb;private renderContent;render():TemplateResult;}declare global{interface HTMLElementTagNameMap{'lr-drilldown-panel':LyraDrilldownPanel;}}