import { StoreCartLineItem } from '@medusajs/types';

import { Reservation } from '~/lib/types/reservation';

export interface MontonioOrderToken {
  uuid: string;
  accessKey: string;
  merchantReference: string;
  merchantReferenceDisplay: string;
  paymentStatus:
    | 'PAID'
    | 'FAILED'
    | 'CANCELLED'
    | 'PENDING'
    | 'EXPIRED'
    | 'REFUNDED';
  paymentMethod: string;
  grandTotal: number;
  currency: string;
  senderIban?: string;
  senderName?: string;
  paymentProviderName?: string;
  paymentLinkUuid: string;
  iat: number;
  exp: number;
}

export enum CartItemType {
  analysisOrders = 'analysisOrders',
  ttoServices = 'ttoServices',
}

export type EnrichedCartItem = StoreCartLineItem & { reservation: Reservation };

export type GetBalanceSummarySelection = ({
  useCompanyBenefits,
}: {
  useCompanyBenefits: boolean;
}) => {
  benefitsAmount: number;
  benefitsAmountTotal: number;
  montonioAmount: number;
};
