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, referredID, referralCode string) error
	ProcessDepositBonus(ctx context.Context, userID string, amount float64) error
	GetReferralStats(ctx context.Context, userID string) (*domain.ReferralStats, error)
	UpdateReferralSettings(ctx context.Context, settings *domain.ReferralSettings) error
	GetReferralSettings(ctx context.Context) (*domain.ReferralSettings, error)
	ProcessBetReferral(ctx context.Context, userPhone string, betAmount float64) error
}
