package fees

import (
	"context"
	"time"

	"github.com/tech/sendico/billing/fees/storage/model"
	"go.mongodb.org/mongo-driver/v2/bson"
)

// FeeResolver centralises plan/rule resolution with org override and global fallback.
// Implementations live under the internal/resolver package.
type FeeResolver interface {
	ResolveFeeRule(ctx context.Context, orgID *bson.ObjectID, trigger model.Trigger, at time.Time, attrs map[string]string) (*model.FeePlan, *model.FeeRule, error)
}
