import React from 'react'; import type { BaseResponsiveProps } from '../../../../responsive/type'; import type { BaseSalesScanCodeResult, SalesSdkCartContextValue, SalesSdkContextValue } from '../../../salesSdk'; import './index.less'; export declare type SaleDetailVoucherRenderType = 'current' | 'modal'; export interface SaleDetailDiscount { id: number | string; isSelected?: boolean; isDisabled?: boolean; isDisabledForProductUsed?: boolean; isAvailable?: boolean; savedAmount?: number; [key: string]: any; } export interface VoucherBaseProps extends BaseResponsiveProps { discountList?: SaleDetailDiscount[]; getDiscountList?: () => SaleDetailDiscount[]; scanPromotionCode?: (code: string, customerId?: number) => Promise; setDiscountSelected?: (params: { discountId: number; isSelected: boolean; }) => Promise; patchDiscountCardHolderOnStore?: (targetDiscount: SaleDetailDiscount, holderId: number | string) => Promise; customerId?: number; isInModal?: boolean; defaultExpanded?: boolean; showTitle?: boolean; disabled?: boolean; className?: string; } export interface VoucherContext { sales: Pick; cart: Pick; } export interface VoucherProps extends BaseResponsiveProps { context: VoucherContext; renderType?: SaleDetailVoucherRenderType; visible?: boolean; onClose?: () => void; className?: string; } export declare const VoucherBase: React.MemoExoticComponent; declare function VoucherBaseComponent({ discountList, getDiscountList, scanPromotionCode, setDiscountSelected, customerId, isInModal, defaultExpanded, showTitle, disabled, className, variant, }: VoucherBaseProps): React.JSX.Element; export declare const Voucher: React.ForwardRefExoticComponent>; export { DiscountCardHolderProvider } from './DiscountCardHolderContext'; export default Voucher;