@doujins/payments-ui 0.0.11 → 0.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -1,7 +1,8 @@
1
- import React from 'react';
1
+ import React$1 from 'react';
2
2
  import { StoreApi } from 'zustand';
3
3
  import { PublicKey } from '@solana/web3.js';
4
4
  import * as zustand_vanilla from 'zustand/vanilla';
5
+ import * as react_jsx_runtime from 'react/jsx-runtime';
5
6
  import * as _tanstack_react_query from '@tanstack/react-query';
6
7
 
7
8
  type AuthTokenProvider = (() => string | null | undefined) | (() => Promise<string | null | undefined>) | null | undefined;
@@ -54,6 +55,13 @@ interface PaymentConfig {
54
55
  collectJsKey?: string;
55
56
  solanaRpcUrl?: string;
56
57
  }
58
+ type NotificationStatus = 'default' | 'success' | 'info' | 'destructive';
59
+ interface NotificationPayload {
60
+ title: string;
61
+ description?: string;
62
+ status?: NotificationStatus;
63
+ }
64
+ type NotificationHandler = (payload: NotificationPayload) => void;
57
65
 
58
66
  interface BillingDetails {
59
67
  firstName: string;
@@ -93,6 +101,41 @@ interface PaginatedPaymentMethods {
93
101
  total?: number;
94
102
  next_page?: number | null;
95
103
  }
104
+ interface Payment {
105
+ id: string;
106
+ subscription_id?: string | null;
107
+ processor: string;
108
+ transaction_id: string;
109
+ amount: number;
110
+ currency: string;
111
+ purchased_at: string;
112
+ status?: string;
113
+ description?: string;
114
+ }
115
+ interface PaginatedPayments {
116
+ data: Payment[];
117
+ total_items: number;
118
+ limit?: number;
119
+ offset?: number;
120
+ page?: number;
121
+ page_size?: number;
122
+ total_pages?: number;
123
+ }
124
+ interface BillingAccessGrant {
125
+ kind: string;
126
+ entitlement: string;
127
+ subscription_id?: string | null;
128
+ processor?: string | null;
129
+ processor_subscription_id?: string | null;
130
+ source_type?: string | null;
131
+ source_id?: string | null;
132
+ start_at?: string | null;
133
+ end_at?: string | null;
134
+ }
135
+ interface BillingStatus {
136
+ is_premium: boolean;
137
+ access: BillingAccessGrant[];
138
+ }
96
139
 
97
140
  interface GeneratePaymentRequest {
98
141
  price_id: string;
@@ -278,6 +321,40 @@ interface SubscriptionCheckoutPayload {
278
321
  billing: BillingDetails;
279
322
  }
280
323
 
324
+ interface SolanaWallet {
325
+ id: string;
326
+ address: string;
327
+ is_verified: boolean;
328
+ verified_at?: string;
329
+ created_at: string;
330
+ updated_at?: string;
331
+ user_id?: string;
332
+ }
333
+ interface WalletListResponse {
334
+ wallets: SolanaWallet[];
335
+ count: number;
336
+ }
337
+ interface WalletChallengeResponse {
338
+ wallet: string;
339
+ message: string;
340
+ expires_at: number;
341
+ nonce: string;
342
+ }
343
+ interface VerifyWalletResponse {
344
+ verified: boolean;
345
+ wallet: string;
346
+ verified_at?: string;
347
+ linked_wallet?: SolanaWallet;
348
+ }
349
+ interface WalletConnectionState {
350
+ isConnected: boolean;
351
+ isConnecting: boolean;
352
+ publicKey: string | null;
353
+ wallets: SolanaWallet[];
354
+ isLoading: boolean;
355
+ error: string | null;
356
+ }
357
+
281
358
  type RequestOptions = {
282
359
  params?: Record<string, string | number>;
283
360
  query?: Record<string, string | number | undefined>;
@@ -367,13 +444,32 @@ declare class SubscriptionService {
367
444
  constructor(api: ApiClient);
368
445
  subscribe(platform: PaymentPlatform, payload: NmiSubscribePayload | CCBillSubscribePayload): Promise<SubscriptionResponse>;
369
446
  generateFlexFormUrl(payload: GenerateFlexFormURLBodyParams): Promise<FlexFormResponse>;
447
+ getPaymentHistory(params?: {
448
+ limit?: number;
449
+ offset?: number;
450
+ type?: string;
451
+ }): Promise<PaginatedPayments>;
452
+ cancelSubscription(feedback?: string): Promise<{
453
+ message: string;
454
+ success: boolean;
455
+ }>;
370
456
  private serializePayload;
371
457
  }
372
458
 
459
+ declare class SolanaWalletService {
460
+ private readonly api;
461
+ constructor(api: ApiClient);
462
+ list(): Promise<SolanaWallet[]>;
463
+ requestChallenge(wallet: string): Promise<WalletChallengeResponse>;
464
+ verify(wallet: string, signature: string, nonce?: string): Promise<VerifyWalletResponse>;
465
+ remove(wallet: string): Promise<void>;
466
+ }
467
+
373
468
  interface PaymentServices {
374
469
  cardPayments: CardPaymentService;
375
470
  paymentMethods: PaymentMethodService;
376
471
  solanaPayments: SolanaPaymentService;
472
+ solanaWallets: SolanaWalletService;
377
473
  tokenCatalog: TokenCatalog;
378
474
  walletGateway: WalletGateway;
379
475
  subscriptions: SubscriptionService;
@@ -447,9 +543,9 @@ interface PaymentContextValue {
447
543
  }
448
544
  interface PaymentProviderProps {
449
545
  config: PaymentConfig;
450
- children: React.ReactNode;
546
+ children: React$1.ReactNode;
451
547
  }
452
- declare const PaymentProvider: React.FC<PaymentProviderProps>;
548
+ declare const PaymentProvider: React$1.FC<PaymentProviderProps>;
453
549
  declare const usePaymentContext: () => PaymentContextValue;
454
550
 
455
551
  interface CardDetailsFormProps {
@@ -464,7 +560,7 @@ interface CardDetailsFormProps {
464
560
  onBillingChange?: (billing: BillingDetails) => void;
465
561
  submitDisabled?: boolean;
466
562
  }
467
- declare const CardDetailsForm: React.FC<CardDetailsFormProps>;
563
+ declare const CardDetailsForm: React$1.FC<CardDetailsFormProps>;
468
564
 
469
565
  interface StoredPaymentMethodsProps {
470
566
  selectedMethodId?: string | null;
@@ -473,7 +569,7 @@ interface StoredPaymentMethodsProps {
473
569
  heading?: string;
474
570
  description?: string;
475
571
  }
476
- declare const StoredPaymentMethods: React.FC<StoredPaymentMethodsProps>;
572
+ declare const StoredPaymentMethods: React$1.FC<StoredPaymentMethodsProps>;
477
573
 
478
574
  interface PaymentExperienceProps {
479
575
  priceId: string;
@@ -489,11 +585,11 @@ interface PaymentExperienceProps {
489
585
  enableNewCard?: boolean;
490
586
  enableStoredMethods?: boolean;
491
587
  enableSolanaPay?: boolean;
492
- checkoutSummary?: React.ReactNode;
588
+ checkoutSummary?: React$1.ReactNode;
493
589
  onSolanaSuccess?: (result: SubmitPaymentResponse | string) => void;
494
590
  onSolanaError?: (error: string) => void;
495
591
  }
496
- declare const PaymentExperience: React.FC<PaymentExperienceProps>;
592
+ declare const PaymentExperience: React$1.FC<PaymentExperienceProps>;
497
593
 
498
594
  interface SolanaPaymentSelectorProps {
499
595
  isOpen: boolean;
@@ -503,7 +599,68 @@ interface SolanaPaymentSelectorProps {
503
599
  onError?: (error: string) => void;
504
600
  onSuccess: (result: SubmitPaymentResponse | string) => void;
505
601
  }
506
- declare const SolanaPaymentSelector: React.FC<SolanaPaymentSelectorProps>;
602
+ declare const SolanaPaymentSelector: React$1.FC<SolanaPaymentSelectorProps>;
603
+
604
+ interface BillingHistoryProps {
605
+ pageSize?: number;
606
+ initialPage?: number;
607
+ enableCancel?: boolean;
608
+ onNotify?: NotificationHandler;
609
+ }
610
+ declare const BillingHistory: React.FC<BillingHistoryProps>;
611
+
612
+ interface CancelMembershipDialogProps {
613
+ minReasonLength?: number;
614
+ onCancelled?: () => void;
615
+ onNotify?: NotificationHandler;
616
+ }
617
+ declare const CancelMembershipDialog: React.FC<CancelMembershipDialogProps>;
618
+
619
+ interface PaymentMethodsSectionProps {
620
+ isAuthenticated?: boolean;
621
+ userEmail?: string | null;
622
+ provider?: string;
623
+ defaultCountry?: string;
624
+ collectPrefix?: string;
625
+ onNotify?: NotificationHandler;
626
+ }
627
+ declare const PaymentMethodsSection: React.FC<PaymentMethodsSectionProps>;
628
+
629
+ interface SolanaWalletSectionProps {
630
+ onNotify?: NotificationHandler;
631
+ rpcUrl?: string;
632
+ }
633
+ declare const SolanaWalletSection: React.FC<SolanaWalletSectionProps>;
634
+
635
+ declare const WalletManagement: (props: SolanaWalletSectionProps) => react_jsx_runtime.JSX.Element;
636
+
637
+ interface WalletCardProps {
638
+ wallet: SolanaWallet;
639
+ isPrimary?: boolean;
640
+ isConnected?: boolean;
641
+ balance?: number | null;
642
+ onSetPrimary?: (walletId: string) => void;
643
+ onVerify?: (wallet: SolanaWallet) => void;
644
+ onDelete?: (walletId: string) => void;
645
+ isVerifying?: boolean;
646
+ isDeleting?: boolean;
647
+ notify?: NotificationHandler;
648
+ }
649
+ declare const WalletCard: React.FC<WalletCardProps>;
650
+
651
+ declare const EmptyWalletState: React.FC;
652
+
653
+ interface WalletModalProps {
654
+ open: boolean;
655
+ onOpenChange: (open: boolean) => void;
656
+ }
657
+ declare const WalletModal: React.FC<WalletModalProps>;
658
+
659
+ interface WalletDialogProps {
660
+ open: boolean;
661
+ onOpenChange: (open: boolean) => void;
662
+ }
663
+ declare const WalletDialog: React.FC<WalletDialogProps>;
507
664
 
508
665
  interface SubscriptionCheckoutModalProps {
509
666
  open: boolean;
@@ -518,7 +675,7 @@ interface SubscriptionCheckoutModalProps {
518
675
  onSuccess?: () => void;
519
676
  enableSolanaPay?: boolean;
520
677
  }
521
- declare const SubscriptionCheckoutModal: React.FC<SubscriptionCheckoutModalProps>;
678
+ declare const SubscriptionCheckoutModal: React$1.FC<SubscriptionCheckoutModalProps>;
522
679
 
523
680
  interface SubscriptionSuccessDialogProps {
524
681
  open: boolean;
@@ -527,7 +684,7 @@ interface SubscriptionSuccessDialogProps {
527
684
  billingPeriodLabel?: string;
528
685
  onClose: () => void;
529
686
  }
530
- declare const SubscriptionSuccessDialog: React.FC<SubscriptionSuccessDialogProps>;
687
+ declare const SubscriptionSuccessDialog: React$1.FC<SubscriptionSuccessDialogProps>;
531
688
 
532
689
  declare const usePaymentMethods: () => {
533
690
  listQuery: _tanstack_react_query.UseQueryResult<PaginatedPaymentMethods, Error>;
@@ -723,4 +880,42 @@ declare const useAlternativePaymentProvider: () => {
723
880
  error: string | null;
724
881
  };
725
882
 
726
- export { type AsyncStatus, type AuthTokenProvider, type BillingDetails, type CCBillSubscribePayload, CardDetailsForm, type CardDetailsFormProps, CardPaymentService, type CardTokenizeResult, type CreatePaymentMethodPayload, type FlexFormResponse, type GenerateFlexFormParams, type GenerateFlexFormURLBodyParams, type GeneratePaymentRequest, type GeneratePaymentResponse, type ListParams, type NmiSubscribePayload, type PaginatedPaymentMethods, PaymentApp, type PaymentAppOptions, type PaymentCallbacks, type PaymentConfig, type PaymentContextValue, type PaymentEndpoints, type PaymentError, PaymentExperience, type PaymentExperienceProps, type PaymentFeatureFlags, type PaymentFetcher, type PaymentMethod, type PaymentMethodOption, PaymentMethodService, type PaymentPlatform, PaymentProvider, type PaymentProviderProps, type PaymentServices, type PaymentState, type PaymentStatusPayload, type PaymentStatusResponse, type PaymentStep, type PaymentStoreOptions, type PaymentStoreState, type PaymentSuccessPayload, type PaymentUserDetails, type SolanaFlowConfig, type SolanaFlowState, type SolanaPayQRCodeIntent, type SolanaPayStatusResponse, type SolanaPayTransaction, type SolanaPaymentMethod, SolanaPaymentSelector, SolanaPaymentService, StoredPaymentMethods, type StoredPaymentMethodsProps, type SubmitPaymentRequest, type SubmitPaymentResponse, type SubscribeWithCCBillParams, type SubscribeWithCardParams, type SubscribeWithSavedMethodParams, SubscriptionCheckoutModal, type SubscriptionCheckoutPayload, type SubscriptionResponse, SubscriptionService, SubscriptionSuccessDialog, type SupportedTokensResponse, type TokenBalance, TokenCatalog, type TokenCatalogOptions, type TokenInfo, type TransactionStatus, type WalletAccount, type WalletAdapterLike, WalletGateway, createPaymentStore, useAlternativePaymentProvider, useDirectWalletPayment, usePaymentContext, usePaymentMethodService, usePaymentMethods, usePaymentStatus, usePaymentStore, useSolanaDirectPayment, useSolanaQrPayment, useSolanaService, useSubscriptionActions, useSupportedTokens, useTokenBalance };
883
+ interface UseWalletListOptions {
884
+ autoFetch?: boolean;
885
+ }
886
+ declare const useWalletList: (options?: UseWalletListOptions) => {
887
+ wallets: SolanaWallet[];
888
+ isLoading: boolean;
889
+ error: string | null;
890
+ fetchWallets: () => Promise<SolanaWallet[]>;
891
+ deleteWallet: (walletIdOrAddress: string) => Promise<void>;
892
+ addWallet: (wallet: SolanaWallet) => void;
893
+ updateWallet: (walletId: string, updates: Partial<SolanaWallet>) => void;
894
+ clearError: () => void;
895
+ findWalletByAddress: (address: string) => SolanaWallet | undefined;
896
+ getVerifiedWallets: () => SolanaWallet[];
897
+ hasVerifiedWallets: boolean;
898
+ totalWallets: number;
899
+ };
900
+
901
+ declare const useWalletVerification: () => {
902
+ signAndVerifyWallet: (walletAddress: string, message: string, nonce?: string) => Promise<VerifyWalletResponse>;
903
+ autoVerifyWallet: (walletAddress: string, message: string, nonce?: string) => Promise<VerifyWalletResponse | null>;
904
+ clearError: () => void;
905
+ resetVerification: () => void;
906
+ isVerifying: boolean;
907
+ isVerified: boolean;
908
+ error: string | null;
909
+ };
910
+
911
+ interface WalletConnectionResult extends WalletConnectionState {
912
+ walletName?: string;
913
+ walletIcon?: string;
914
+ connectWallet: () => Promise<void>;
915
+ disconnectWallet: () => Promise<void>;
916
+ connectWalletToBackend: (address: string) => Promise<WalletChallengeResponse>;
917
+ clearError: () => void;
918
+ }
919
+ declare const useWalletConnection: () => WalletConnectionResult;
920
+
921
+ export { type AsyncStatus, type AuthTokenProvider, type BillingAccessGrant, type BillingDetails, BillingHistory, type BillingHistoryProps, type BillingStatus, type CCBillSubscribePayload, CancelMembershipDialog, type CancelMembershipDialogProps, CardDetailsForm, type CardDetailsFormProps, CardPaymentService, type CardTokenizeResult, type CreatePaymentMethodPayload, EmptyWalletState, type FlexFormResponse, type GenerateFlexFormParams, type GenerateFlexFormURLBodyParams, type GeneratePaymentRequest, type GeneratePaymentResponse, type ListParams, type NmiSubscribePayload, type NotificationHandler, type NotificationPayload, type NotificationStatus, type PaginatedPaymentMethods, type PaginatedPayments, type Payment, PaymentApp, type PaymentAppOptions, type PaymentCallbacks, type PaymentConfig, type PaymentContextValue, type PaymentEndpoints, type PaymentError, PaymentExperience, type PaymentExperienceProps, type PaymentFeatureFlags, type PaymentFetcher, type PaymentMethod, type PaymentMethodOption, PaymentMethodService, PaymentMethodsSection, type PaymentMethodsSectionProps, type PaymentPlatform, PaymentProvider, type PaymentProviderProps, type PaymentServices, type PaymentState, type PaymentStatusPayload, type PaymentStatusResponse, type PaymentStep, type PaymentStoreOptions, type PaymentStoreState, type PaymentSuccessPayload, type PaymentUserDetails, type SolanaFlowConfig, type SolanaFlowState, type SolanaPayQRCodeIntent, type SolanaPayStatusResponse, type SolanaPayTransaction, type SolanaPaymentMethod, SolanaPaymentSelector, SolanaPaymentService, type SolanaWallet, SolanaWalletSection, type SolanaWalletSectionProps, SolanaWalletService, StoredPaymentMethods, type StoredPaymentMethodsProps, type SubmitPaymentRequest, type SubmitPaymentResponse, type SubscribeWithCCBillParams, type SubscribeWithCardParams, type SubscribeWithSavedMethodParams, SubscriptionCheckoutModal, type SubscriptionCheckoutPayload, type SubscriptionResponse, SubscriptionService, SubscriptionSuccessDialog, type SupportedTokensResponse, type TokenBalance, TokenCatalog, type TokenCatalogOptions, type TokenInfo, type TransactionStatus, type VerifyWalletResponse, type WalletAccount, type WalletAdapterLike, WalletCard, type WalletChallengeResponse, type WalletConnectionState, WalletDialog, type WalletDialogProps, WalletGateway, type WalletListResponse, WalletManagement, WalletModal, type WalletModalProps, createPaymentStore, useAlternativePaymentProvider, useDirectWalletPayment, usePaymentContext, usePaymentMethodService, usePaymentMethods, usePaymentStatus, usePaymentStore, useSolanaDirectPayment, useSolanaQrPayment, useSolanaService, useSubscriptionActions, useSupportedTokens, useTokenBalance, useWalletConnection, useWalletList, useWalletVerification };
package/dist/index.d.ts CHANGED
@@ -1,7 +1,8 @@
1
- import React from 'react';
1
+ import React$1 from 'react';
2
2
  import { StoreApi } from 'zustand';
3
3
  import { PublicKey } from '@solana/web3.js';
4
4
  import * as zustand_vanilla from 'zustand/vanilla';
5
+ import * as react_jsx_runtime from 'react/jsx-runtime';
5
6
  import * as _tanstack_react_query from '@tanstack/react-query';
6
7
 
7
8
  type AuthTokenProvider = (() => string | null | undefined) | (() => Promise<string | null | undefined>) | null | undefined;
@@ -54,6 +55,13 @@ interface PaymentConfig {
54
55
  collectJsKey?: string;
55
56
  solanaRpcUrl?: string;
56
57
  }
58
+ type NotificationStatus = 'default' | 'success' | 'info' | 'destructive';
59
+ interface NotificationPayload {
60
+ title: string;
61
+ description?: string;
62
+ status?: NotificationStatus;
63
+ }
64
+ type NotificationHandler = (payload: NotificationPayload) => void;
57
65
 
58
66
  interface BillingDetails {
59
67
  firstName: string;
@@ -93,6 +101,41 @@ interface PaginatedPaymentMethods {
93
101
  total?: number;
94
102
  next_page?: number | null;
95
103
  }
104
+ interface Payment {
105
+ id: string;
106
+ subscription_id?: string | null;
107
+ processor: string;
108
+ transaction_id: string;
109
+ amount: number;
110
+ currency: string;
111
+ purchased_at: string;
112
+ status?: string;
113
+ description?: string;
114
+ }
115
+ interface PaginatedPayments {
116
+ data: Payment[];
117
+ total_items: number;
118
+ limit?: number;
119
+ offset?: number;
120
+ page?: number;
121
+ page_size?: number;
122
+ total_pages?: number;
123
+ }
124
+ interface BillingAccessGrant {
125
+ kind: string;
126
+ entitlement: string;
127
+ subscription_id?: string | null;
128
+ processor?: string | null;
129
+ processor_subscription_id?: string | null;
130
+ source_type?: string | null;
131
+ source_id?: string | null;
132
+ start_at?: string | null;
133
+ end_at?: string | null;
134
+ }
135
+ interface BillingStatus {
136
+ is_premium: boolean;
137
+ access: BillingAccessGrant[];
138
+ }
96
139
 
97
140
  interface GeneratePaymentRequest {
98
141
  price_id: string;
@@ -278,6 +321,40 @@ interface SubscriptionCheckoutPayload {
278
321
  billing: BillingDetails;
279
322
  }
280
323
 
324
+ interface SolanaWallet {
325
+ id: string;
326
+ address: string;
327
+ is_verified: boolean;
328
+ verified_at?: string;
329
+ created_at: string;
330
+ updated_at?: string;
331
+ user_id?: string;
332
+ }
333
+ interface WalletListResponse {
334
+ wallets: SolanaWallet[];
335
+ count: number;
336
+ }
337
+ interface WalletChallengeResponse {
338
+ wallet: string;
339
+ message: string;
340
+ expires_at: number;
341
+ nonce: string;
342
+ }
343
+ interface VerifyWalletResponse {
344
+ verified: boolean;
345
+ wallet: string;
346
+ verified_at?: string;
347
+ linked_wallet?: SolanaWallet;
348
+ }
349
+ interface WalletConnectionState {
350
+ isConnected: boolean;
351
+ isConnecting: boolean;
352
+ publicKey: string | null;
353
+ wallets: SolanaWallet[];
354
+ isLoading: boolean;
355
+ error: string | null;
356
+ }
357
+
281
358
  type RequestOptions = {
282
359
  params?: Record<string, string | number>;
283
360
  query?: Record<string, string | number | undefined>;
@@ -367,13 +444,32 @@ declare class SubscriptionService {
367
444
  constructor(api: ApiClient);
368
445
  subscribe(platform: PaymentPlatform, payload: NmiSubscribePayload | CCBillSubscribePayload): Promise<SubscriptionResponse>;
369
446
  generateFlexFormUrl(payload: GenerateFlexFormURLBodyParams): Promise<FlexFormResponse>;
447
+ getPaymentHistory(params?: {
448
+ limit?: number;
449
+ offset?: number;
450
+ type?: string;
451
+ }): Promise<PaginatedPayments>;
452
+ cancelSubscription(feedback?: string): Promise<{
453
+ message: string;
454
+ success: boolean;
455
+ }>;
370
456
  private serializePayload;
371
457
  }
372
458
 
459
+ declare class SolanaWalletService {
460
+ private readonly api;
461
+ constructor(api: ApiClient);
462
+ list(): Promise<SolanaWallet[]>;
463
+ requestChallenge(wallet: string): Promise<WalletChallengeResponse>;
464
+ verify(wallet: string, signature: string, nonce?: string): Promise<VerifyWalletResponse>;
465
+ remove(wallet: string): Promise<void>;
466
+ }
467
+
373
468
  interface PaymentServices {
374
469
  cardPayments: CardPaymentService;
375
470
  paymentMethods: PaymentMethodService;
376
471
  solanaPayments: SolanaPaymentService;
472
+ solanaWallets: SolanaWalletService;
377
473
  tokenCatalog: TokenCatalog;
378
474
  walletGateway: WalletGateway;
379
475
  subscriptions: SubscriptionService;
@@ -447,9 +543,9 @@ interface PaymentContextValue {
447
543
  }
448
544
  interface PaymentProviderProps {
449
545
  config: PaymentConfig;
450
- children: React.ReactNode;
546
+ children: React$1.ReactNode;
451
547
  }
452
- declare const PaymentProvider: React.FC<PaymentProviderProps>;
548
+ declare const PaymentProvider: React$1.FC<PaymentProviderProps>;
453
549
  declare const usePaymentContext: () => PaymentContextValue;
454
550
 
455
551
  interface CardDetailsFormProps {
@@ -464,7 +560,7 @@ interface CardDetailsFormProps {
464
560
  onBillingChange?: (billing: BillingDetails) => void;
465
561
  submitDisabled?: boolean;
466
562
  }
467
- declare const CardDetailsForm: React.FC<CardDetailsFormProps>;
563
+ declare const CardDetailsForm: React$1.FC<CardDetailsFormProps>;
468
564
 
469
565
  interface StoredPaymentMethodsProps {
470
566
  selectedMethodId?: string | null;
@@ -473,7 +569,7 @@ interface StoredPaymentMethodsProps {
473
569
  heading?: string;
474
570
  description?: string;
475
571
  }
476
- declare const StoredPaymentMethods: React.FC<StoredPaymentMethodsProps>;
572
+ declare const StoredPaymentMethods: React$1.FC<StoredPaymentMethodsProps>;
477
573
 
478
574
  interface PaymentExperienceProps {
479
575
  priceId: string;
@@ -489,11 +585,11 @@ interface PaymentExperienceProps {
489
585
  enableNewCard?: boolean;
490
586
  enableStoredMethods?: boolean;
491
587
  enableSolanaPay?: boolean;
492
- checkoutSummary?: React.ReactNode;
588
+ checkoutSummary?: React$1.ReactNode;
493
589
  onSolanaSuccess?: (result: SubmitPaymentResponse | string) => void;
494
590
  onSolanaError?: (error: string) => void;
495
591
  }
496
- declare const PaymentExperience: React.FC<PaymentExperienceProps>;
592
+ declare const PaymentExperience: React$1.FC<PaymentExperienceProps>;
497
593
 
498
594
  interface SolanaPaymentSelectorProps {
499
595
  isOpen: boolean;
@@ -503,7 +599,68 @@ interface SolanaPaymentSelectorProps {
503
599
  onError?: (error: string) => void;
504
600
  onSuccess: (result: SubmitPaymentResponse | string) => void;
505
601
  }
506
- declare const SolanaPaymentSelector: React.FC<SolanaPaymentSelectorProps>;
602
+ declare const SolanaPaymentSelector: React$1.FC<SolanaPaymentSelectorProps>;
603
+
604
+ interface BillingHistoryProps {
605
+ pageSize?: number;
606
+ initialPage?: number;
607
+ enableCancel?: boolean;
608
+ onNotify?: NotificationHandler;
609
+ }
610
+ declare const BillingHistory: React.FC<BillingHistoryProps>;
611
+
612
+ interface CancelMembershipDialogProps {
613
+ minReasonLength?: number;
614
+ onCancelled?: () => void;
615
+ onNotify?: NotificationHandler;
616
+ }
617
+ declare const CancelMembershipDialog: React.FC<CancelMembershipDialogProps>;
618
+
619
+ interface PaymentMethodsSectionProps {
620
+ isAuthenticated?: boolean;
621
+ userEmail?: string | null;
622
+ provider?: string;
623
+ defaultCountry?: string;
624
+ collectPrefix?: string;
625
+ onNotify?: NotificationHandler;
626
+ }
627
+ declare const PaymentMethodsSection: React.FC<PaymentMethodsSectionProps>;
628
+
629
+ interface SolanaWalletSectionProps {
630
+ onNotify?: NotificationHandler;
631
+ rpcUrl?: string;
632
+ }
633
+ declare const SolanaWalletSection: React.FC<SolanaWalletSectionProps>;
634
+
635
+ declare const WalletManagement: (props: SolanaWalletSectionProps) => react_jsx_runtime.JSX.Element;
636
+
637
+ interface WalletCardProps {
638
+ wallet: SolanaWallet;
639
+ isPrimary?: boolean;
640
+ isConnected?: boolean;
641
+ balance?: number | null;
642
+ onSetPrimary?: (walletId: string) => void;
643
+ onVerify?: (wallet: SolanaWallet) => void;
644
+ onDelete?: (walletId: string) => void;
645
+ isVerifying?: boolean;
646
+ isDeleting?: boolean;
647
+ notify?: NotificationHandler;
648
+ }
649
+ declare const WalletCard: React.FC<WalletCardProps>;
650
+
651
+ declare const EmptyWalletState: React.FC;
652
+
653
+ interface WalletModalProps {
654
+ open: boolean;
655
+ onOpenChange: (open: boolean) => void;
656
+ }
657
+ declare const WalletModal: React.FC<WalletModalProps>;
658
+
659
+ interface WalletDialogProps {
660
+ open: boolean;
661
+ onOpenChange: (open: boolean) => void;
662
+ }
663
+ declare const WalletDialog: React.FC<WalletDialogProps>;
507
664
 
508
665
  interface SubscriptionCheckoutModalProps {
509
666
  open: boolean;
@@ -518,7 +675,7 @@ interface SubscriptionCheckoutModalProps {
518
675
  onSuccess?: () => void;
519
676
  enableSolanaPay?: boolean;
520
677
  }
521
- declare const SubscriptionCheckoutModal: React.FC<SubscriptionCheckoutModalProps>;
678
+ declare const SubscriptionCheckoutModal: React$1.FC<SubscriptionCheckoutModalProps>;
522
679
 
523
680
  interface SubscriptionSuccessDialogProps {
524
681
  open: boolean;
@@ -527,7 +684,7 @@ interface SubscriptionSuccessDialogProps {
527
684
  billingPeriodLabel?: string;
528
685
  onClose: () => void;
529
686
  }
530
- declare const SubscriptionSuccessDialog: React.FC<SubscriptionSuccessDialogProps>;
687
+ declare const SubscriptionSuccessDialog: React$1.FC<SubscriptionSuccessDialogProps>;
531
688
 
532
689
  declare const usePaymentMethods: () => {
533
690
  listQuery: _tanstack_react_query.UseQueryResult<PaginatedPaymentMethods, Error>;
@@ -723,4 +880,42 @@ declare const useAlternativePaymentProvider: () => {
723
880
  error: string | null;
724
881
  };
725
882
 
726
- export { type AsyncStatus, type AuthTokenProvider, type BillingDetails, type CCBillSubscribePayload, CardDetailsForm, type CardDetailsFormProps, CardPaymentService, type CardTokenizeResult, type CreatePaymentMethodPayload, type FlexFormResponse, type GenerateFlexFormParams, type GenerateFlexFormURLBodyParams, type GeneratePaymentRequest, type GeneratePaymentResponse, type ListParams, type NmiSubscribePayload, type PaginatedPaymentMethods, PaymentApp, type PaymentAppOptions, type PaymentCallbacks, type PaymentConfig, type PaymentContextValue, type PaymentEndpoints, type PaymentError, PaymentExperience, type PaymentExperienceProps, type PaymentFeatureFlags, type PaymentFetcher, type PaymentMethod, type PaymentMethodOption, PaymentMethodService, type PaymentPlatform, PaymentProvider, type PaymentProviderProps, type PaymentServices, type PaymentState, type PaymentStatusPayload, type PaymentStatusResponse, type PaymentStep, type PaymentStoreOptions, type PaymentStoreState, type PaymentSuccessPayload, type PaymentUserDetails, type SolanaFlowConfig, type SolanaFlowState, type SolanaPayQRCodeIntent, type SolanaPayStatusResponse, type SolanaPayTransaction, type SolanaPaymentMethod, SolanaPaymentSelector, SolanaPaymentService, StoredPaymentMethods, type StoredPaymentMethodsProps, type SubmitPaymentRequest, type SubmitPaymentResponse, type SubscribeWithCCBillParams, type SubscribeWithCardParams, type SubscribeWithSavedMethodParams, SubscriptionCheckoutModal, type SubscriptionCheckoutPayload, type SubscriptionResponse, SubscriptionService, SubscriptionSuccessDialog, type SupportedTokensResponse, type TokenBalance, TokenCatalog, type TokenCatalogOptions, type TokenInfo, type TransactionStatus, type WalletAccount, type WalletAdapterLike, WalletGateway, createPaymentStore, useAlternativePaymentProvider, useDirectWalletPayment, usePaymentContext, usePaymentMethodService, usePaymentMethods, usePaymentStatus, usePaymentStore, useSolanaDirectPayment, useSolanaQrPayment, useSolanaService, useSubscriptionActions, useSupportedTokens, useTokenBalance };
883
+ interface UseWalletListOptions {
884
+ autoFetch?: boolean;
885
+ }
886
+ declare const useWalletList: (options?: UseWalletListOptions) => {
887
+ wallets: SolanaWallet[];
888
+ isLoading: boolean;
889
+ error: string | null;
890
+ fetchWallets: () => Promise<SolanaWallet[]>;
891
+ deleteWallet: (walletIdOrAddress: string) => Promise<void>;
892
+ addWallet: (wallet: SolanaWallet) => void;
893
+ updateWallet: (walletId: string, updates: Partial<SolanaWallet>) => void;
894
+ clearError: () => void;
895
+ findWalletByAddress: (address: string) => SolanaWallet | undefined;
896
+ getVerifiedWallets: () => SolanaWallet[];
897
+ hasVerifiedWallets: boolean;
898
+ totalWallets: number;
899
+ };
900
+
901
+ declare const useWalletVerification: () => {
902
+ signAndVerifyWallet: (walletAddress: string, message: string, nonce?: string) => Promise<VerifyWalletResponse>;
903
+ autoVerifyWallet: (walletAddress: string, message: string, nonce?: string) => Promise<VerifyWalletResponse | null>;
904
+ clearError: () => void;
905
+ resetVerification: () => void;
906
+ isVerifying: boolean;
907
+ isVerified: boolean;
908
+ error: string | null;
909
+ };
910
+
911
+ interface WalletConnectionResult extends WalletConnectionState {
912
+ walletName?: string;
913
+ walletIcon?: string;
914
+ connectWallet: () => Promise<void>;
915
+ disconnectWallet: () => Promise<void>;
916
+ connectWalletToBackend: (address: string) => Promise<WalletChallengeResponse>;
917
+ clearError: () => void;
918
+ }
919
+ declare const useWalletConnection: () => WalletConnectionResult;
920
+
921
+ export { type AsyncStatus, type AuthTokenProvider, type BillingAccessGrant, type BillingDetails, BillingHistory, type BillingHistoryProps, type BillingStatus, type CCBillSubscribePayload, CancelMembershipDialog, type CancelMembershipDialogProps, CardDetailsForm, type CardDetailsFormProps, CardPaymentService, type CardTokenizeResult, type CreatePaymentMethodPayload, EmptyWalletState, type FlexFormResponse, type GenerateFlexFormParams, type GenerateFlexFormURLBodyParams, type GeneratePaymentRequest, type GeneratePaymentResponse, type ListParams, type NmiSubscribePayload, type NotificationHandler, type NotificationPayload, type NotificationStatus, type PaginatedPaymentMethods, type PaginatedPayments, type Payment, PaymentApp, type PaymentAppOptions, type PaymentCallbacks, type PaymentConfig, type PaymentContextValue, type PaymentEndpoints, type PaymentError, PaymentExperience, type PaymentExperienceProps, type PaymentFeatureFlags, type PaymentFetcher, type PaymentMethod, type PaymentMethodOption, PaymentMethodService, PaymentMethodsSection, type PaymentMethodsSectionProps, type PaymentPlatform, PaymentProvider, type PaymentProviderProps, type PaymentServices, type PaymentState, type PaymentStatusPayload, type PaymentStatusResponse, type PaymentStep, type PaymentStoreOptions, type PaymentStoreState, type PaymentSuccessPayload, type PaymentUserDetails, type SolanaFlowConfig, type SolanaFlowState, type SolanaPayQRCodeIntent, type SolanaPayStatusResponse, type SolanaPayTransaction, type SolanaPaymentMethod, SolanaPaymentSelector, SolanaPaymentService, type SolanaWallet, SolanaWalletSection, type SolanaWalletSectionProps, SolanaWalletService, StoredPaymentMethods, type StoredPaymentMethodsProps, type SubmitPaymentRequest, type SubmitPaymentResponse, type SubscribeWithCCBillParams, type SubscribeWithCardParams, type SubscribeWithSavedMethodParams, SubscriptionCheckoutModal, type SubscriptionCheckoutPayload, type SubscriptionResponse, SubscriptionService, SubscriptionSuccessDialog, type SupportedTokensResponse, type TokenBalance, TokenCatalog, type TokenCatalogOptions, type TokenInfo, type TransactionStatus, type VerifyWalletResponse, type WalletAccount, type WalletAdapterLike, WalletCard, type WalletChallengeResponse, type WalletConnectionState, WalletDialog, type WalletDialogProps, WalletGateway, type WalletListResponse, WalletManagement, WalletModal, type WalletModalProps, createPaymentStore, useAlternativePaymentProvider, useDirectWalletPayment, usePaymentContext, usePaymentMethodService, usePaymentMethods, usePaymentStatus, usePaymentStore, useSolanaDirectPayment, useSolanaQrPayment, useSolanaService, useSubscriptionActions, useSupportedTokens, useTokenBalance, useWalletConnection, useWalletList, useWalletVerification };