import { type PurchaseFlow, type PurchaseFlowOptions } from '../purchase-flow-core'; import type { Purchase } from '../types'; export declare function markRequested(skus: (string | null | undefined)[]): void; export declare function clearRequested(): void; type SdkPurchaseFlowFunction = 'finishTransaction' | 'getAvailablePurchases' | 'getPendingTransactionsIOS' | 'listenForPurchases' | 'wasRequested'; /** `createPurchaseFlow` options; the SDK supplies any store function left out. */ export type SdkPurchaseFlowOptions = Omit, SdkPurchaseFlowFunction> & Partial, SdkPurchaseFlowFunction>>; interface Subscription { remove: () => void; } /** The store functions of one SDK entry point. */ export interface PurchaseFlowSdk { finishTransaction: PurchaseFlowOptions['finishTransaction']; getAvailablePurchases: () => Promise; getPendingTransactionsIOS: (() => Promise) | undefined; /** Every delivery, replays included: the flow deduplicates itself. */ purchaseUpdatedListener: (listener: (purchase: Purchase) => void) => Subscription; purchaseErrorListener: (listener: () => void) => Subscription; } /** * A flow given its own `finishTransaction` keeps 17.1's manual delivery: the * app calls `processPurchase`, unless it passes `listenForPurchases` too. */ export declare function createSdkPurchaseFlow(sdk: PurchaseFlowSdk, options: SdkPurchaseFlowOptions): PurchaseFlow; export {}; //# sourceMappingURL=purchaseFlowBinding.d.ts.map