import { EventEmitter } from '@angular/core';
import { ArticleCardMetadata, ArticleCardClickEvent } from './types';
import * as i0 from "@angular/core";
/**
 * val-article-card
 *
 * Article / blog teaser card: cover image, topic chip, title, excerpt and date.
 * Clickable (routerLink or external href).
 *
 * Presentational — pass already-resolved/formatted strings (pre-format the date
 * in the consumer with a locale-aware pipe).
 *
 * @example
 * ```html
 * <val-article-card
 *   [props]="{
 *     image: '/assets/post.jpg',
 *     topic: 'Holidays',
 *     title: 'New Holiday Shopping Features',
 *     excerpt: 'A short summary of the article that gets clamped after a few lines.',
 *     date: 'Oct 31, 2025',
 *     routerLink: '/blog/holiday-shopping'
 *   }"
 *   (onClick)="open($event)"
 * />
 * ```
 */
export declare class ArticleCardComponent {
    private navigation;
    /** Component configuration */
    readonly props: import("@angular/core").InputSignal<Partial<ArticleCardMetadata>>;
    /** Emitted when the card is clicked */
    onClick: EventEmitter<ArticleCardClickEvent>;
    /** Merged configuration with defaults */
    config: import("@angular/core").Signal<ArticleCardMetadata & Required<Pick<ArticleCardMetadata, "aspectRatio" | "bordered" | "shadowed" | "excerptLines">>>;
    isClickable: import("@angular/core").Signal<boolean>;
    getTopicColor(): string | null;
    handleClick(event: MouseEvent): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<ArticleCardComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ArticleCardComponent, "val-article-card", never, { "props": { "alias": "props"; "required": false; "isSignal": true; }; }, { "onClick": "onClick"; }, never, never, true, never>;
}
