import { Product } from './Product'; /** * Delegate responsible for custom purchase and restore handling. * When this delegate is provided, it replaces the default Qonversion SDK purchase flow. */ export interface PurchaseDelegate { /** * Handle purchase for the given product. * @param product Product to purchase. * @returns Promise that completes successfully when purchase finishes, otherwise throws an error. */ purchase(product: Product): Promise; /** * Handle restore flow. * @returns Promise that completes successfully when restore finishes, otherwise throws an error. */ restore(): Promise; }