import type{LyraEventDetailSnapshot}from'../../../internal/lyra-element.js';import{type TemplateResult}from'lit';import type{RetrievalChunk}from'../../../ai/types.js';import{LyraElement}from'../../../internal/lyra-element.js';import'../../overlays/empty/empty.class.js';export interface RetrievalComparisonSet{id:string;label:string;chunks:RetrievalChunk[];}export interface LyraRetrievalCompareEventMap{'lr-chunk-select':CustomEvent>;} /** * `` — a side-by-side retrieval/reranking workbench that makes rank, * overlap, and dense/sparse/rerank/final score changes inspectable. It never performs retrieval. * * 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. * Blank set ids and later duplicates are ignored before overlap, rendering, or activation. Within * each retained set, blank chunk ids and later duplicates are likewise ignored. First records win. * * @customElement lr-retrieval-compare * @event lr-chunk-select - A result was activated. `detail: { setId, chunk }`. * @csspart base - The named comparison region. * @csspart overlap - The pairwise top-k Jaccard overlap summary. * @csspart sets - Horizontally scrollable set grid. * @csspart set - One result-set column. * @csspart set-heading - A caller-supplied result-set label. * @csspart chunks - One ranked list. * @csspart chunk - A selectable chunk row. * @csspart chunk-selected - The selected chunk row. * @csspart chunk-rank - The effective rank. * @csspart chunk-title - The source title. * @csspart chunk-text - Retrieved text. * @csspart scores - Score-breakdown list. * @csspart score - One named score. * @csspart empty - The empty state. * @cssprop [--lr-retrieval-compare-selected-border=var(--lr-color-brand)] - Border color marking * a selected `[part~="chunk"]` row. * @status stable * @since 7.0.0 */ export declare class LyraRetrievalCompare extends LyraElement{protected static readonly ownedCollectionProperties:readonly string[];static styles:import("lit").CSSResultGroup[];protected static readonly immutableEventDetails:readonly string[]; /** Named retrieval result sets rendered side by side. */ sets:readonly RetrievalComparisonSet[]; /** Maximum ranked chunks shown from each set after stable score ordering. */ topK:number; /** Controlled chunk id highlighted across every set that contains it. */ selectedChunkId:string; /** Fallback name for the comparison region. Omitting it falls back to a localized default; an * explicit empty string clears it. A non-empty host `aria-label` makes the host the sole * overall owner; an explicitly empty host label stays empty on the region. */ label?:string;private readonly headingIdPrefix;private get effectiveTopK();private get normalizedSets();private orderedChunks;private rank;private formatScore;private overlaps;private scoreEntries;private renderSet;render():TemplateResult;}declare global{interface HTMLElementTagNameMap{'lr-retrieval-compare':LyraRetrievalCompare;}}