import type { TLineItemExpanded, TPaymentCurrency } from '@blocklet/payment-types';
import React from 'react';
interface DiscountInfo {
    promotion_code?: string;
    coupon?: string;
    discount_amount?: string;
    promotion_code_details?: {
        code?: string;
    };
    coupon_details?: {
        percent_off?: number;
        amount_off?: string;
        currency_id?: string;
        currency_options?: Record<string, {
            amount_off?: string;
        }>;
    };
    verification_data?: {
        code?: string;
    };
}
type Props = {
    item: TLineItemExpanded;
    items: TLineItemExpanded[];
    trialInDays: number;
    trialEnd?: number;
    currency: TPaymentCurrency;
    onUpsell: Function;
    onDownsell: Function;
    mode?: 'normal' | 'cross-sell';
    children?: React.ReactNode;
    adjustableQuantity?: {
        enabled: boolean;
        minimum?: number;
        maximum?: number;
    };
    onQuantityChange?: (itemId: string, quantity: number) => void;
    completed?: boolean;
    showFeatures?: boolean;
    exchangeRate?: string | null;
    isStripePayment?: boolean;
    isPriceLocked?: boolean;
    isRateLoading?: boolean;
    discounts?: DiscountInfo[];
    calculatedDiscountAmount?: string | null;
};
export default function ProductItem({ item, items, trialInDays, trialEnd, currency, mode, children, onUpsell, onDownsell, completed, adjustableQuantity, onQuantityChange, showFeatures, exchangeRate, isStripePayment, isPriceLocked, isRateLoading, discounts, calculatedDiscountAmount, }: Props): JSX.Element;
export {};
