import apiClient from './client' import type { ReferralInfo, ReferralTerms, PaginatedResponse } from '../types' interface ReferralItem { id: number username: string | null first_name: string | null created_at: string has_subscription: boolean has_paid: boolean } interface ReferralEarning { id: number amount_kopeks: number amount_rubles: number reason: string referral_username: string | null referral_first_name: string | null created_at: string } interface ReferralEarningsList extends PaginatedResponse { total_amount_kopeks: number total_amount_rubles: number } export const referralApi = { // Get referral info getReferralInfo: async (): Promise => { const response = await apiClient.get('/cabinet/referral') return response.data }, // Get referral list getReferralList: async (params?: { page?: number per_page?: number }): Promise> => { const response = await apiClient.get>('/cabinet/referral/list', { params, }) return response.data }, // Get referral earnings getReferralEarnings: async (params?: { page?: number per_page?: number }): Promise => { const response = await apiClient.get('/cabinet/referral/earnings', { params, }) return response.data }, // Get referral terms getReferralTerms: async (): Promise => { const response = await apiClient.get('/cabinet/referral/terms') return response.data }, }