import { CSSResultGroup, LitElement } from 'lit'; export type CardVariant = "elevated" | "filled" | "outlined"; /** * @tag md-card * @summary Material Design 3 card component. * * Groups related content and actions on a single surface. Supports three * visual variants (elevated, filled, outlined) and an optional interactive * mode with ripple feedback, keyboard navigation, and link behaviour. */ export declare class MdCard extends LitElement { static get styles(): CSSResultGroup; /** Visual style of the card. Controls background colour, shadow, and border. */ variant: CardVariant; /** * Enables ripple feedback, hover/pressed/focus-visible states, pointer * cursor, and keyboard interaction. */ interactive: boolean; /** * Disables the card when `interactive` is set: applies opacity, * pointer-events: none, and aria-disabled on the inner surface. */ disabled: boolean; /** * When set (and `interactive` is set), the inner surface is rendered as an * `` element pointing to this URL. */ href: string | undefined; private rippleEl; /** * Tracks all elements currently slotted into the card so we can attach and * remove pointer-enter/leave listeners as slot content changes. */ private _slottedChildren; private get classes(); /** * Unified pointer event handler. * * Handles events coming from: * - the host element itself (pointerenter/leave/down/up bubbled from the * host boundary for real pointer movement) * - each slotted child element (pointerenter/leave attached directly because * these events are non-bubbling and do not reach the host when only the * child is entered) */ handleEvent(event: Event): void; connectedCallback(): void; disconnectedCallback(): void; /** * Called whenever the content of any slot changes. We attach pointerenter * and pointerleave directly to each slotted element because those events are * non-bubbling: a `pointerenter` fired on a slotted child does not propagate * to the host element, so the host-level listener would never see it. */ private _onSlotChange; private renderSlots; private renderSurface; render(): import('lit').TemplateResult<1>; } declare global { interface HTMLElementTagNameMap { "md-card": MdCard; } }