import { ExtractPropTypes, PropType, Component } from 'vue';
import { DirectionT } from '../_utils/types';
export type CardDirectionT = DirectionT | 'hr';
export declare const CardCoverFitTypes: readonly ["cover", "contain", "fill", "none", "scale-down"];
export type CardCoverFitT = (typeof CardCoverFitTypes)[number];
export declare const CardHoverCursorTypes: readonly ["auto", "pointer"];
export type CardHoverCursorT = (typeof CardHoverCursorTypes)[number];
export declare const TextOverflowTypes: readonly ["fade", "ellipsis"];
export type TexTOverflowT = (typeof TextOverflowTypes)[number];
export declare const cardProps: {
    /**
     * @zh-CN 卡片方向（'v'为竖向，'h'为横向，'hr'为反向横向）
     * @en-US Card direction('v' for vertical, 'h' for horizontal, 'hr' for reversed horizontal)
     * @default 'v'
     */
    layout: {
        type: PropType<CardDirectionT>;
        default: string;
    };
    /**
     * @zh-CN 封面图片url
     * @en-US Card cover image URL
     */
    cover: {
        type: StringConstructor;
    };
    /**
     * @zh-CN 封面长宽比
     * @en-US Cover aspect ratio
     */
    coverRatio: {
        type: NumberConstructor;
    };
    /**
     * @zh-CN 封面填充方式
     * @en-US Cover fit type
     * @default 'cover'
     */
    coverFit: {
        type: PropType<CardCoverFitT>;
        default: string;
    };
    /**
     * @zh-CN 图标
     * @en-US Icon
     */
    icon: {
        type: PropType<string | Component>;
    };
    /**
     * @zh-CN title开头的行内图标
     * @en-US Title prefix icon
     */
    titleIcon: {
        type: PropType<string | Component>;
    };
    /**
     * @zh-CN 标题
     * @en-US Title
     */
    title: {
        type: StringConstructor;
    };
    /**
     * @zh-CN 标题行数（影响标题盒子高度）
     * @en-US Title row count (affects the height of the title box)
     */
    titleRow: {
        type: NumberConstructor;
    };
    /**
     * @zh-CN 标题最大行数（超过此行数会显示省略号）
     * @en-US Title maximum row count (exceeds this row count will show ellipsis)
     */
    titleMaxRow: {
        type: NumberConstructor;
    };
    /**
     * @zh-CN 详情
     * @en-US Detail
     */
    detail: {
        type: StringConstructor;
    };
    /**
     * @zh-CN 详情行数（影响详情盒子高度）
     * @en-US Detail row count (affects the height of the detail box)
     */
    detailRow: {
        type: NumberConstructor;
    };
    /**
     * @zh-CN 详情最大行数（超过此行数会显示省略号）
     * @en-US Detail maximum row count (exceeds this row count will show ellipsis)
     */
    detailMaxRow: {
        type: NumberConstructor;
    };
    /**
     * @zh-CN 是否有鼠标悬停效果
     * @en-US Whether the card has a hover effect
     */
    hoverable: {
        type: BooleanConstructor;
    };
    /**
     * @zh-CN 鼠标悬停时的光标样式
     * @en-US Cursor style when hovering over the card
     * @default 'auto'
     */
    cursor: {
        type: PropType<CardHoverCursorT>;
        default: string;
    };
    /**
     * @zh-CN 封面盒子的类名（用来定制封面样式）
     * @en-US Class name for the cover box (used to customize the cover style)
     */
    coverClass: {
        type: PropType<string | {
            [k: string]: boolean;
        } | Array<{
            [k: string]: boolean;
        } | string>>;
    };
    /**
     * @zh-CN 跳转链接（该属性有值时，卡片会被渲染为链接）
     * @en-US Link URL (when this property has a value, the card will be rendered as a link)
     */
    href: {
        type: StringConstructor;
    };
    /**
     * @zh-CN 卡片尺寸是否跟随视口大小变化而变化
     * @en-US Whether the card size changes with the viewport size
     */
    noResponsive: {
        type: BooleanConstructor;
    };
    /**
     * @zh-CN 控制详情超出隐藏显示效果，'fade' 表示渐隐效果，'ellipsis' 表示 '...' 效果
     * @en-US The control details exceed the hidden display effect. 'fade' indicates the fade-out effect, and 'ellipsis' indicates '...' Effect
     */
    textOverflow: {
        type: PropType<TexTOverflowT>;
        default: string;
    };
    /**
     * @zh-CN 文本溢出时，悬停是否以气泡展示完整内容（仅对 prop 传入的 title/detail 生效，通过 slot 传入时需调用者自行实现）
     * @en-US Whether to show a popover with the full content on hover when text overflows (only applies to title/detail passed via props; for slot content, the caller must implement it themselves)
     * @default false
     * @since 1.2.5
     */
    showOverflowTooltip: {
        type: BooleanConstructor;
        default: boolean;
    };
};
export type CardPropsT = ExtractPropTypes<typeof cardProps>;
