import { BootstrapElement, type Variant } from '@bootstrap-wc/core'; /** * Numeric avatar size (matches the bootstrap-essentials `.avatar-{N}` scale). * Custom sizes can be set via the `size` attribute as a number (e.g. `40`) * or via the `width` / `height` attributes (any CSS length). */ export type AvatarSize = 16 | 24 | 32 | 48 | 64 | 96 | 128 | number; export type AvatarShape = 'circle' | 'rounded' | 'square'; /** * `` — display a user's profile picture, initials, or icon * inside a sized, optionally-rounded box. * * The component matches the avatar size scale from bootstrap-essentials * (`16/24/32/48/64/96/128`) plus arbitrary numeric sizes, and the three * BS5 shape variants (`circle`/`rounded`/`square`). When `src` is set the * image is rendered with `object-fit: cover`; otherwise the default slot * is shown (typically initials or a ``). * * @slot default - Placeholder content (initials, icon) when no `src`. * @slot status - A status indicator (e.g. online dot) absolutely positioned * in the bottom-right corner. Author can place a * `` or any element here. * * @csspart wrapper - The host's inner box (sized via the `size` attribute). * @csspart image - The `` element when `src` is set. * * @example * * JD * * * */ export declare class BsAvatar extends BootstrapElement { static styles: import("lit").CSSResult; /** Size in pixels. Accepts the BSE numeric scale (16/24/32/48/64/96/128) or any number. */ size: AvatarSize; /** Shape: circle, rounded (4px corners), or square (no rounding). */ shape: AvatarShape; /** Image URL. When set, the `` is rendered instead of the default slot. */ src?: string; /** Alt text for the image (required when `src` is set; recommended otherwise via `aria-label`). */ alt: string; /** Tints the wrapper with `bg-{variant}-subtle` + `text-{variant}-emphasis`. */ variant?: Variant; /** Override the host's width (any CSS length). Takes precedence over `size`. */ width?: string; /** Override the host's height (any CSS length). Takes precedence over `size`. */ height?: string; /** * Apply size + shape directly to the host. We can't put dynamic values in * `static styles` (they're frozen at class-eval time), so write inline * styles on the host element via attributeChangedCallback / updated. */ updated(changed: Map): void; render(): import("lit-html").TemplateResult<1>; } declare global { interface HTMLElementTagNameMap { 'bs-avatar': BsAvatar; } } //# sourceMappingURL=avatar.d.ts.map