import { EventEmitter } from '../../stencil-public-runtime'; import { type LogoName } from './mud-logo.types'; /** * Brand logo for Moldovan M-products. * * Each `name` resolves to a single self-contained SVG asset under `./assets/`. * The component fetches and renders that SVG into shadow DOM; the host's * dimensions follow the SVG's intrinsic `width`/`height`/`viewBox` exactly as * exported from Figma — so a future asset with non-standard dimensions * "just works" without a CSS contract change. * * Consumers that need to reserve layout space before the async fetch * resolves (e.g. above-the-fold marketing, dense grids) should wrap the * logo in a sized container — `mud-service-button` does this for its * `badge` slot (24 × 24). * * @element mud-logo */ export declare class MudLogo { /** * Logo asset identifier — the bare filename (without `.svg`) of an asset * in `./assets/`. Format: `{service}-logo-{layout}`. See `LOGO_NAMES` for * the complete enumeration. * @default 'mpay-logo-logomark-only' */ name: LogoName; /** * Accessible label. When provided (and non-whitespace), the logo is announced * as an image; when omitted or whitespace-only the logo is decorative * (aria-hidden). */ ariaLabel?: string; private svgElement; host: HTMLMudLogoElement; /** * Emitted when an asset fails to load — either because the `name` is not * in the manifest (`'unknown'`) or because the SVG fetch failed * (`'fetch-failed'`). Lets consumers react in production where `console.warn` * is invisible (telemetry, fallback UI, etc.). * * Note: events emitted during `componentWillLoad` (initial mount) fire * before consumer listeners can attach to a freshly-inserted host. Attach * the listener BEFORE setting the `name` prop, or rely on the warning for * mount-time failures. */ mudLogoError: EventEmitter<{ name: string; reason: 'unknown' | 'fetch-failed'; }>; private svgCacheKey; private lastAppendedSvg; onNameChange(newVal: LogoName, oldVal: LogoName): Promise; componentWillLoad(): Promise; componentDidRender(): void; private loadSvg; private get isKnownName(); render(): any; }