import { CSSProperties } from 'react';
import { PisellBasicCardProps } from '../../types';
/**
 * 图片填充模式类型
 */
export declare type ImageFillMode = 'cover' | 'contain' | 'fill' | 'none';
/**
 * 图片数据源配置
 */
export interface ImageDataSource {
    /**
     * 图片地址
     * 支持相对路径和绝对路径
     */
    src?: string;
    /**
     * 图片替换文本
     * 当图片未设置或加载失败时，显示 alt 的前 2 个字符
     */
    alt?: string;
    /**
     * 图片加载失败后的兜底图地址
     */
    errorSrc?: string;
    /**
     * 首次加载时的占位图地址
     */
    fallbackSrc?: string;
    text?: string;
}
/**
 * PisellImageCard 组件 Props
 * 基于 PisellBasicCardProps 扩展
 * 注意：重写 onClick 为可选属性
 */
export interface PisellImageCardProps extends Omit<PisellBasicCardProps, 'onClick'> {
    /**
     * 图片数据源配置
     */
    dataSource?: ImageDataSource;
    /**
     * 图片填充模式
     * - cover: 覆盖容器，保持比例，可能裁剪
     * - contain: 完整显示，保持比例，可能留白
     * - fill: 拉伸填充，不保持比例
     * - none: 原始尺寸，不缩放
     * @default 'cover'
     */
    fillMode?: ImageFillMode;
    /**
     * 图片宽度
     * 支持任意 CSS 合法值（px、%、rem 等）
     * @default '100%'
     */
    width?: CSSProperties['width'];
    aliWidth?: number;
    /**
     * 图片高度
     * 支持任意 CSS 合法值（px、%、rem 等）
     * @default '100%'
     */
    height?: CSSProperties['height'];
    /**
     * 是否启用图片懒加载
     * 仅当图片进入视口时才加载
     * @default false
     */
    lazy?: boolean;
    /**
     * 点击事件
     * 注意：PisellBasicCardProps 中的 onClick 是必填的，这里重新定义为可选
     */
    onClick?: (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;
}
