import { Observable } from 'rxjs'; import { SubtrakService } from './subtrak.service'; import { SubscriptionPaymentLinkWithDetails, OneTimePaymentLinkWithDetails, PaymentLinkSummary } from '../models'; import * as i0 from "@angular/core"; /** * Service for managing payment links * * @example * ```typescript * constructor(private paymentLinks: PaymentLinksService) {} * * // Get all pending payment links for a customer * this.paymentLinks.getAllPendingPaymentLinks('cus_123').subscribe(summary => { * console.log(`Customer has ${summary.count} unpaid invoice(s)`); * console.log(`Total amount due: ${summary.totalAmount} ${summary.currency}`); * }); * ``` */ export declare class PaymentLinksService { private subtrak; constructor(subtrak: SubtrakService); /** * Get pending subscription payment links for a customer * Returns only links that are not used and not expired * * @param customerId - Customer ID * @returns Observable of pending subscription payment links */ getPendingSubscriptionPaymentLinks(customerId: string): Observable; /** * Get pending one-time payment links for a customer * Returns only links that are not used and not expired * * @param customerId - Customer ID * @returns Observable of pending one-time payment links */ getPendingOneTimePaymentLinks(customerId: string): Observable; /** * Get all pending payment links for a customer (both subscription and one-time) * Returns a summary with total count and amount * * @param customerId - Customer ID * @returns Observable of payment link summary * * @example * ```typescript * this.paymentLinks.getAllPendingPaymentLinks('cus_123').subscribe(summary => { * if (summary.count > 0) { * console.log(`You have ${summary.count} unpaid invoice(s)`); * console.log(`Total: ${summary.totalAmount} ${summary.currency}`); * } * }); * ``` */ getAllPendingPaymentLinks(customerId: string): Observable; /** * Get payment link details by token (public endpoint, no auth required) * Used on the public payment page * * @param token - Payment link token * @returns Observable of payment link details */ getPaymentLinkByToken(token: string): Observable; /** * Get one-time payment link details by token (public endpoint, no auth required) * * @param token - Payment link token * @returns Observable of payment link details */ getOneTimePaymentLinkByToken(token: string): Observable; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }