import { PaymentIssuer, PaymentMethod as IPaymentMethod, PaymentTransaction as IPaymentTransaction, GenerateCheckoutUrlPayloadDto as IGenerateCheckoutUrlPayloadDto, PerformScanPayPayloadDto as IPerformScanPayPayloadDto, PerformRefundPayloadDto as IPerformRefundPayloadDto, ValidateOrderPayloadDto as IValidateOrderPayloadDto, Settlement as ISettlement, BeneficiaryBank as IBeneficiaryBank, CreditPayDto as ICreditPayDto, PaymentGatewayKey, TransactionStatus, CheckoutType } from './payment.interface'; import { Types } from 'mongoose'; import { Ref } from '@typegoose/typegoose'; import { Restaurant } from '~backend/business/business.model'; import { AdjustmentAmount, DineroObject } from '~backend/utils/model'; import DineroFactory from 'dinero.js'; import { Order } from '~backend/order/order.interface'; import { RM } from 'rm-api-sdk'; export declare class PaymentMethod implements IPaymentMethod { issuer: PaymentIssuer; variant: string; rate: AdjustmentAmount; tPlus: number; } export declare class PaymentTransaction implements IPaymentTransaction { _id: Types.ObjectId; get id(): any; get createdAt(): any; method: PaymentMethod | null; gateway: PaymentGatewayKey; gatewayAmount: DineroObject; amount: DineroObject; restaurant: Ref; callbackAt: Date | null; callbackResponse: any; status: TransactionStatus; order: Ref; bill: string; refundedAt?: Date; refundResponse?: RM.Response; canSettleAt: Date; gatewayTransactionId: string; settlement?: Ref; get fee(): DineroFactory.DineroObject; get payout(): DineroFactory.DineroObject; } export declare class BeneficiaryBank implements IBeneficiaryBank { holderName: string; name: string; swiftCode: string; accountNumber: string; } export declare class Settlement implements ISettlement { _id: Types.ObjectId; get id(): any; get createdAt(): any; beneficiaryBank: BeneficiaryBank; remark?: string; totalAmount: DineroObject; totalFee: DineroObject; totalPayout: DineroObject; restaurant: Ref; } export declare class CreditPayDto implements ICreditPayDto { orderId: string; } export declare class GenerateCheckoutUrlPayloadDto implements IGenerateCheckoutUrlPayloadDto { orderId: string; redirectUrl: string; type: CheckoutType; } export declare class PerformRefundPayloadDto implements IPerformRefundPayloadDto { transactionId: string; reason: string; amount: DineroObject; } export declare class PerformScanPayPayloadDto implements IPerformScanPayPayloadDto { authCode: string; amount: DineroObject; billId: string; } export declare class ValidateOrderPaymentPayloadDto implements IValidateOrderPayloadDto { orderId: string; } export declare class UpdateSettlementRemarkDto { id: string; remark: string; } export declare class RefetchTransactionPayloadDto { transactionId: string; } export declare class FdtoRefetchTransaction { billId: string; }