import { TransactionAnalyticsRequestDTO, TransactionAnalyticsResponseDTO, CampaignClaimAnalyticsRequestDTO, CampaignClaimAnalyticsResponseDTO, UserAnalyticsRequestDTO, UserAnalyticsResponseDTO, UserRankingAnalyticsRequestDTO, UserRankingAnalyticsResponseDTO, BusinessRankingAnalyticsRequestDTO, BusinessRankingAnalyticsResponseDTO, RetentionAnalyticsRequestDTO, RetentionAnalyticsResponseDTO } from '@explorins/pers-sdk'; /** * React hook for analytics operations in the PERS SDK * * Provides comprehensive analytics and business intelligence capabilities: * - **Transaction Analytics**: Volume, trends, business performance * - **Campaign Claim Analytics**: Campaign performance and claim patterns * - **User Analytics**: Engagement metrics with per-active-user averages * - **User Ranking**: Leaderboards with full user details * - **Business Ranking**: Business performance rankings * - **Retention Analytics**: Monthly retention metrics * * @returns Analytics hook with methods for data analysis * * @example Basic Transaction Analytics * ```typescript * function AnalyticsComponent() { * const { getTransactionAnalytics } = useAnalytics(); * * const loadAnalytics = async () => { * const analytics = await getTransactionAnalytics({ * startDate: '2024-01-01', * endDate: '2024-01-31', * groupBy: 'day' * }); * console.log('Transaction analytics:', analytics); * }; * } * ``` * * @example User Leaderboard * ```typescript * function LeaderboardScreen() { * const { getUserRanking } = useAnalytics(); * * const loadLeaderboard = async () => { * const ranking = await getUserRanking({ * sortBy: 'totalTransactions', * sortOrder: 'DESC', * limit: 50 * }); * ranking.results.forEach((user, i) => { * console.log(`#${i + 1}: ${user.email} - ${user.totalTransactions} txns`); * }); * }; * } * ``` */ export declare const useAnalytics: () => { getTransactionAnalytics: (request: TransactionAnalyticsRequestDTO) => Promise; getCampaignClaimAnalytics: (request: CampaignClaimAnalyticsRequestDTO) => Promise; getUserAnalytics: (request?: UserAnalyticsRequestDTO) => Promise; getUserRanking: (request?: UserRankingAnalyticsRequestDTO) => Promise; getBusinessRanking: (request?: BusinessRankingAnalyticsRequestDTO) => Promise; getRetentionAnalytics: (request?: RetentionAnalyticsRequestDTO) => Promise; isAvailable: boolean; }; export type AnalyticsHook = ReturnType; //# sourceMappingURL=useAnalytics.d.ts.map