import { CurrentOrderInfo } from '../../types';
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;
    /** 是否展示使用金额 */
    showRedeem?: boolean;
    /** 是否展示余额 */
    showBalance?: boolean;
    /** 是否展示识别码编号 */
    showCode?: boolean;
    /** 是否展示有效期 */
    showValidDate?: boolean;
    /** 是否展示右上角详情按钮 */
    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;
    [key: string]: any;
}
export interface WalletPassModuleProps {
    orderInfo?: CurrentOrderInfo;
    onSelectChange?: (select: {
        voucher_id: number;
        amount: number;
    }[]) => void;
    paymentItems?: PaymentItem[];
    customAmount?: string;
    clientId?: number;
}
export interface WalletPassHeaderProps {
    customerName: string;
    selectedCount: number;
    expiredCount: number;
    isCardMode: boolean;
    onExpiredClick: () => void;
    onBestSaving: () => void;
    onClearAll: () => void;
    onToggleDisplayMode: () => void;
}
export interface WalletPassCardDisplayProps {
    isCardMode: boolean;
    cardData: PisellWalletPassCardProps[];
    selectedWalletIds: number[];
    onSelectWallet: (selectedIds: number[]) => void;
    onDetail: (record: any, index: number) => void;
    onConfirmEditAmount: (value: number, index: number, data: any) => void;
    onBeforeEditAmount: (value: any, index: number, data: any) => Promise<any> | boolean | void;
}
export interface WalletPassTextModeProps {
    cardData: any[];
    selectedWalletIds: number[];
}
export interface WalletModalProps {
    visible: boolean;
    walletData: any[];
    onClose: () => void;
    title?: string;
    emptyText?: string;
}
export interface WalletPassModuleRef {
    handleSearchIdentificationCode: (value: string) => void;
    getWalletPassData: (select: {
        voucher_id: number;
        amount: number;
        code?: string;
    }[]) => {
        selectedWallet?: any[];
        availableDiscountList?: any[];
        selectedDiscountList?: number[];
    };
}
