import React from 'react';
import './index.less';
export interface FormatOption {
    /** 原始 DOM 元素 */
    originDom: React.ReactNode;
    /** 是否选中状态 */
    active: boolean;
    /** 完整的组件数据 */
    data: PisellWalletPassCardProps;
}
export interface PisellWalletPassCardProps {
    id: number;
    /** 卡片样式 */
    type: 'default' | 'mini';
    /** 商品名称 */
    name: string;
    /** 二维码 */
    qrCode: string;
    /** 共享店铺名称 */
    storeName: string;
    /** 余额 */
    balance?: number;
    /** 识别码编号 */
    code: string;
    /** 有效期 */
    validDate: string;
    /** 使用金额 */
    redeem?: number;
    /** 是否禁用 */
    disabled?: boolean;
    /** 禁用原因 */
    disabledReason?: string;
    /** 是否展示禁用原因 */
    showDisabledReason?: boolean;
    /** 封面图 */
    cover?: string;
    /** 余额标题文案 */
    balanceTitle?: string;
    /** 使用金额标题文案 */
    redeemTitle?: string;
    /** 是否选中 */
    active?: boolean;
    /** 是否展示商品名称 */
    showName?: boolean;
    /** 是否展示共享店铺名称 */
    showStoreName?: boolean | ((data: any) => boolean);
    /** 是否展示使用金额 */
    showRedeem?: boolean;
    /** 是否展示余额 */
    showBalance?: boolean;
    /** 是否展示识别码编号 */
    showCode?: boolean;
    /** 是否展示有效期 */
    showValidDate?: boolean;
    /** 使用日程信息计算有效期 */
    validDateBySchedule?: boolean;
    /** 日程列表 */
    scheduleList?: any[];
    /** 是否展示右上角详情按钮 */
    showDetail?: boolean;
    /** 是否展示qrCode */
    showQrCode?: boolean;
    /** 是否展示封面 */
    showCover?: boolean;
    /** 是否展示余额货币符号 */
    showBalanceSymbol?: boolean;
    /** 展示操作按钮 */
    showActions?: boolean;
    /** 操作按钮配置 */
    actions?: {
        /** 按钮展示方式 */
        layout: 'expanded' | 'collapsed';
        /** detail 按钮配置 */
        detail?: {
            visible: boolean;
            iconColor: string;
        };
        /** edit按钮配置 */
        edit?: {
            visible: boolean;
            iconColor: string;
            dialogTitle: string;
            enableDialog: boolean;
            fields: {
                name: string;
                label: string;
            };
        };
    };
    /** 编辑编辑按钮后，弹窗展示之前 */
    beforeEdit?: (value: any) => Promise<any> | boolean | void;
    /** 编辑弹窗点击提交 */
    onConfirmEdit?: (value: any) => void;
    /** 编辑金额事件 */
    onConfirmEditAmount?: (value: number) => void;
    /** 详情按钮点击事件 */
    onDetail?: (data: {
        id: number;
        name: string;
        storeName: string;
        balance?: number;
        redeem?: number;
        code: string;
        validDate: string;
        originData?: any;
    }) => void;
    /** 是否使用外部详情处理（当为 true 且提供了 onDetail 时，不显示内部模态框） */
    useExternalDetail?: boolean;
    /** 单选或者多选 */
    mode?: 'multiple' | 'single';
    /** 是否展示选中图标 */
    showActiveIcon?: boolean;
    /** 开启编辑金额 */
    enableEditAmount?: boolean;
    /** 显示状态标识 */
    showStatus?: boolean;
    /** 名称标题字号字重颜色配置 */
    nameTitleStyle?: {
        fontSize: number;
        fontWeight: number;
        color: string;
    };
    /** 卡片状态 */
    cardStatus?: 'used' | 'expired' | 'disabled' | 'conflict' | 'lastPayment';
    /** 自定义余额格式化函数，如果提供则优先使用 */
    formatBalance?: (balance?: number, option?: FormatOption) => React.ReactNode;
    /** 自定义余额标题格式化函数，如果提供则优先使用 */
    formatBalanceTitle?: (balanceTitle?: string, option?: FormatOption) => React.ReactNode;
    /** 自定义使用金额格式化函数，如果提供则优先使用 */
    formatRedeem?: (redeem?: number, option?: FormatOption) => React.ReactNode;
    /** 自定义使用金额标题格式化函数，如果提供则优先使用 */
    formatRedeemTitle?: (redeemTitle?: string, option?: FormatOption) => React.ReactNode;
    /** 最大使用金额 */
    maxRedeem?: number;
    /** 编辑金额前事件 */
    onBeforeEditAmount?: (value: any) => Promise<any> | boolean | void;
    /** 是否显示持有人 */
    showHolderName?: boolean;
    /** 持有人, 表单记录，展示时一般取main_field */
    holder?: any;
    /** 持有人点击回调 */
    onSetHolder?: (currentValue?: any) => void;
    [key: string]: any;
}
declare const PisellWalletPassCard: (props: PisellWalletPassCardProps) => JSX.Element;
export default PisellWalletPassCard;
