export interface PaymentConfig { creatorPublicKey: string; paymentAmount: string; contractAddress?: string; network: string; } export interface UserPayment { userPublicKey: string; userPrivateKey: string; paymentTxHash: string; paymentAmount: string; timestamp: Date; verified: boolean; } export interface EncryptedUserList { users: UserPayment[]; encrypted: boolean; lastUpdated: Date; playbookCid: string; } export declare class PaymentManager { private provider; private paymentConfig; constructor(paymentConfig: PaymentConfig); /** * Prompt user for their private and public keys (for Lighthouse decryption) */ promptUserKeys(): Promise<{ publicKey: string; privateKey: string; }>; /** * Display payment information and prompt for payment method */ promptPayment(): Promise; /** * Send payment transaction automatically */ sendPaymentTransaction(): Promise; /** * Verify payment transaction */ verifyPayment(txHash: string, userPublicKey: string): Promise; /** * Add user to encrypted access list */ addUserToAccessList(userPublicKey: string, userPrivateKey: string, paymentTxHash: string, encryptedUserList: EncryptedUserList): Promise; /** * Check if user has access */ hasAccess(userPublicKey: string, encryptedUserList: EncryptedUserList): boolean; /** * Get user's private key for decryption */ getUserPrivateKey(userPublicKey: string, encryptedUserList: EncryptedUserList): string | null; /** * Encrypt the user list */ encryptUserList(userList: EncryptedUserList, encryptionKey: string): string; /** * Decrypt the user list */ decryptUserList(encryptedData: string, encryptionKey: string): EncryptedUserList; } //# sourceMappingURL=payment-manager.d.ts.map