UNPKG

editia-core

Version:

Core services and utilities for Editia applications - Authentication, Monetization, Video Generation Types, and Database Management

45 lines 1.57 kB
/** * Editia Monetization Hook for React Native * * This hook provides a unified interface for monetization features including: * - Subscription plan management * - Usage tracking * - Feature access control * - Paywall presentation */ import { PlanIdentifier, UserUsage, SubscriptionPlan } from '../types'; export interface EditiaMonetizationConfig { supabaseClient: any; environment?: 'development' | 'production'; userId?: string; } export interface EditiaMonetizationState { isLoading: boolean; currentPlan: PlanIdentifier; userUsage: UserUsage | null; plans: Record<string, SubscriptionPlan> | null; showPaywall: boolean; isPurchasing: boolean; hasOfferingError: boolean; isReady: boolean; } export interface EditiaMonetizationActions { presentPaywall: () => Promise<boolean>; setShowPaywall: (show: boolean) => void; refreshUsage: () => Promise<void>; checkFeatureAccess: (featureId: string) => boolean; getFeatureAccessInfo: (featureId: string) => { hasAccess: boolean; requiredPlan: PlanIdentifier | null; remainingUsage: number; totalLimit: number; }; } export type UseEditiaMonetizationReturn = EditiaMonetizationState & EditiaMonetizationActions & { videosRemaining: number; sourceVideosRemaining: number; voiceClonesRemaining: number; accountAnalysisRemaining: number; }; export declare const useEditiaMonetization: (config: EditiaMonetizationConfig) => UseEditiaMonetizationReturn; //# sourceMappingURL=useEditiaMonetization.d.ts.map