import { Result } from '../../shared/result/Result'; import { CheckoutConfirmation } from '../../domain/value-objects/CheckoutConfirmation'; import { CheckoutPrice } from '../../domain/value-objects/CheckoutPrice'; import { CheckoutState } from '../../domain/value-objects/CheckoutState'; export interface CheckoutConfirmationRequest { price: CheckoutPrice; state: CheckoutState; sessionMetadata: { sessionName: string; trackId: string; carIds: string[]; }; timeoutMs: number; } export interface ICheckoutConfirmationPort { requestCheckoutConfirmation( request: CheckoutConfirmationRequest ): Promise>; }