import{type TemplateResult}from'lit';import{LyraElement}from'../../../internal/lyra-element.js';import{type LyraFileTypeMetadataRegistry}from'./file-type-metadata.js'; /** How much of the badge is rendered: glyph only, or glyph plus file metadata. */ export type LyraFileIconMode='icon'|'label'; /** * Displays a localized, tokenized file-type badge from a MIME type. * * @customElement lr-file-icon * @csspart base - The outer presentation wrapper. * @csspart icon - The format badge. * @csspart label - The localized or consumer-authored format label in `mode="label"` mode. * @csspart description - Consumer-authored metadata description in `mode="label"` mode. * @csspart size - The formatted `bytes` count, shown alongside `label` in `mode="label"` mode when `bytes` is non-zero. * @cssprop [--lr-file-icon-size=var(--lr-size-2rem)] - Inline/block size of the format badge. * @cssprop [--lr-file-icon-bg=var(--lr-color-brand-quiet)] - Background of the `icon` part. Every * file category renders the same fill; retint it without hijacking `--lr-color-brand-quiet` * library-wide. * @cssprop [--lr-file-icon-color=var(--lr-color-brand)] - Text/glyph color of the `icon` part. * @status stable * @since 4.0.0 */ export declare class LyraFileIcon extends LyraElement{static styles:import("lit").CSSResultGroup[]; /** MIME type used to resolve metadata. Also exposed as a `title` tooltip on the badge. */ mimeType:string; /** Optional filename used for fallback detection with an empty or generic MIME type. */ name:string; /** File size **in bytes**, shown alongside the label in `mode="label"` mode. `0` (the default) * renders no size. Named `bytes`, not `size`: everywhere else in this library `size` names a tier * on the shared size ladder, and a numeric byte count answering to the same property name is the * kind of collision a consumer only discovers at runtime. */ bytes:number; /** Whether the badge is decorative and hidden from assistive technology. */ decorative:boolean; /** Shows only the icon or the icon together with its label and optional description. */ private _mode;get mode():LyraFileIconMode;set mode(next:LyraFileIconMode); /** Optional visible/accessibility label override. Explicit empty text is preserved for the * visible `mode="label"` text, but never leaves a non-decorative `role="img"` unnamed -- the * computed accessible name falls back to the resolved file-type metadata label instead. */ label?:string; /** Immutable metadata authority for this instance. */ registry:LyraFileTypeMetadataRegistry;private resolveMetadata;render():TemplateResult;}declare global{interface HTMLElementTagNameMap{'lr-file-icon':LyraFileIcon;}}