import{type PropertyValues,type TemplateResult}from'lit';import{LyraElement}from'../../../internal/lyra-element.js';import{type LyraTextViewerTargetEventMap}from'../../../internal/text-viewer-target.js';import type{LyraAnchor}from'../document-viewer/anchors.js';export interface ArchiveEntry{name:string;dir:boolean;size:number;}export interface LyraArchiveViewerEventMap extends LyraTextViewerTargetEventMap{'lr-render-error':CustomEvent<{error:unknown;}>;}declare class LyraArchiveViewerBase extends LyraElement{}declare const ArchiveTextViewerTargetBase:Omit &(new(...args:ConstructorParameters)=>InstanceType &import("../../../lyra.js").LyraTextViewerTarget&{renderAnchorLiveRegion():unknown;}); /** Lists names and declared uncompressed sizes in a ZIP archive without rendering entry contents * or loading an archive parser. One owned central-directory parser is the listing and validation * authority: it enforces the 10,000-entry and 100 MB declared-expansion ceilings, validates local * header bounds and supported compression methods, and never inflates entry bodies. * Fragment anchors use the exact ZIP entry path as their `id`; rendered rows do not expose that * path as a DOM `id`, so the viewer resolves entry metadata before mounting and scrolling the * matching virtual row. Text-quote anchors resolve against each complete entry path. Text * selections and painted highlights are likewise scoped to entry paths in the nested virtual list. * * @customElement lr-archive-viewer * @event lr-render-error - Fired when fetching or parsing the archive fails. * @event lr-search-change - Fired when archive-path search state or its active match changes, * including source-reset and effective-locale re-evaluation. * Search accepts at most 4,096 query code units and scans at most 4,000,000 path code units; * `detail.matchCountExact=false` identifies a ceiling-truncated lower bound. * @event lr-text-select - Fired after a selection within one entry path. `detail: { text, anchor, * rects }`; `anchor` is an entry-scoped text quote, or `null` when it cannot be anchored. * @event lr-anchor-result - Fired after an `anchor` assignment or `scrollToAnchor()` call is * applied. `detail: { found }`. * @csspart base - The root container with explicit `aria-busy` loading state. * @csspart body - The archive listing body. * @csspart entry - An archive entry row. * @csspart entry-icon - The decorative folder or file icon. * @csspart entry-name - The entry path. * @csspart entry-name-dir - The entry path of a directory row (also carries `entry-name`). * @csspart entry-size - The human-readable file size. * @csspart highlight - A painted entry-path highlight (`` fallback path only). * @csspart spinner - The visible tokenized loading treatment and ordinary text label. * @csspart error - The error region. * @cssprop [--lr-archive-viewer-max-height=none] - Maximum block size of the scrollable body. * Also settable via the `max-height` property. * @cssprop --lr-archive-viewer-highlight-accent-background - Accent highlight background. * @cssprop --lr-archive-viewer-highlight-success-background - Success highlight background. * @cssprop --lr-archive-viewer-highlight-warning-background - Warning highlight background. * @cssprop --lr-archive-viewer-highlight-danger-background - Danger highlight background. * @cssprop --lr-archive-viewer-highlight-neutral-background - Neutral highlight background. * @cssprop --lr-archive-viewer-highlight-active-background - Active highlight background. * @cssprop --lr-archive-viewer-highlight-active-outline - Active fallback-highlight outline. * @status stable * @since 4.0.0 */ export declare class LyraArchiveViewer extends ArchiveTextViewerTargetBase{static styles:import("lit").CSSResultGroup[]; /** URL to fetch and parse as a ZIP archive. */ src:string; /** Display name used on the shadow listing owner when host `aria-label` is absent. A non-empty * host label remains on the host; an explicitly empty one is preserved on the shadow owner. */ name:string; /** A CSS `max-height` for the scrollable archive body; invalid values are ignored. */ maxHeight:string; /** Case-insensitive search over loaded entry paths, with next/previous navigation that scrolls * the active virtualized row into view. Queries are capped at 4,096 code units and one pass scans * at most 4,000,000 path code units; `matchCountExact=false` identifies a truncated lower bound. */ search(query:string):Promise;searchNext():Promise;searchPrevious():Promise;clearSearch():void;private fetchState;private archiveSearchMatches;private archiveSearchActiveIndex;private archiveSearchMatchCountExact;private generation;private archiveSearchQuery;private lastSearchLocale;private pendingSearchResetEvent;private archiveSelectionRoot;private archiveSelectionCleanup?;private styledVirtualListRoot;private archiveNestedUpdatePending;private readonly archiveEntryKey;private readonly announcements;protected willUpdate(changed:PropertyValues):void;protected updated(changed:PropertyValues):void;connectedCallback():void;disconnectedCallback():void;adoptedCallback():void; /** The rows' real DOM lives inside the embedded virtual list, not the archive viewer's own body. */ protected textContentRoot():Element|null;protected applyAnchor(anchor:LyraAnchor):Promise; /** A quote emitted from selection is scoped to one entry path; a cross-row selection is not a * stable archive anchor because either endpoint may be unmounted by virtualization. */ protected computeSelectionAnchor(range:Range):LyraAnchor|null;private load;private renderEntry;private stopVirtualListEvent;private archiveVirtualList;private waitForArchiveRow; /** Replaces TextViewerTarget's outer-shadow selection binding with one that includes the nested * virtual-list ShadowRoot in composed-range lookup. Highlight painting still uses the mixin, but * its content root is redirected to the same nested spacer above. */ private syncArchiveNestedRoot;private recomputeArchiveSearch;private emitArchiveSearchChange;private scrollActiveArchiveMatch;private renderBody;render():TemplateResult;}declare global{interface HTMLElementTagNameMap{'lr-archive-viewer':LyraArchiveViewer;}}export{};