import { Color } from '@ionic/core';
/**
 * Optional inline link / CTA shown under the body of a media object.
 */
export interface MediaObjectLink {
    /** Link text (already resolved by the consumer, e.g. via I18nService.t()) */
    label: string;
    /** Internal Angular route */
    routerLink?: string | any[];
    /** External URL (opens in a new tab) */
    href?: string;
}
/**
 * Metadata for val-media-object.
 *
 * Media object = image (or icon) on one side, title + long body text on the
 * other. Presentational: all visible strings are passed already resolved by
 * the consumer (build them with I18nService.t() in the page).
 */
export interface MediaObjectMetadata {
    /** Unique token identifier */
    token?: string;
    /** Image URL displayed on the side (takes precedence over icon) */
    image?: string;
    /** Alt text for the image */
    imageAlt?: string;
    /** Ionicon name shown when no image is provided */
    icon?: string;
    /** Icon / image accent color */
    color?: Color | string;
    /** Small label above the title */
    overtitle?: string;
    /** Main title */
    title: string;
    /** Body text (supports long, multi-line content) */
    body?: string;
    /** Optional link / CTA under the body */
    link?: MediaObjectLink;
    /** Media width (CSS value). Default: '96px' */
    mediaWidth?: string;
    /** Place the media on the right instead of the left */
    reversed?: boolean;
    /** Vertical alignment of the media against the content */
    align?: 'start' | 'center';
    /** Round the image / icon container corners. Default: true */
    rounded?: boolean;
    /** Render image as a circle (avatar style) */
    circle?: boolean;
}
/**
 * Default values for MediaObjectMetadata.
 */
export declare const MEDIA_OBJECT_DEFAULTS: Required<Pick<MediaObjectMetadata, 'mediaWidth' | 'reversed' | 'align' | 'rounded' | 'circle'>>;
