package referralservice import ( "context" "github.com/SamuelTariku/FortuneBet-Backend/internal/domain" ) type ReferralStore interface { GenerateReferralCode() (string, error) CreateReferral(ctx context.Context, userID int64) error ProcessReferral(ctx context.Context, referredPhone, referralCode string, companyID int64) error ProcessDepositBonus(ctx context.Context, userID string, amount float64) error GetReferralStats(ctx context.Context, userID string) (*domain.ReferralStats, error) CreateReferralSettings(ctx context.Context, req domain.ReferralSettingsReq) error UpdateReferralSettings(ctx context.Context, settings *domain.ReferralSettings) error GetReferralSettings(ctx context.Context) (*domain.ReferralSettings, error) GetReferralCountByID(ctx context.Context, referrerID string) (int64, error) ProcessBetReferral(ctx context.Context, userPhone string, betAmount float64) error }