package repository

import (
	"context"

	domusecase "gateway/internal/model/notification/domain/usecase"
)

// RetryQueue schedules async notification delivery (Redis ZSET: score = run_at_unix_ms).
type RetryQueue interface {
	Schedule(ctx context.Context, runAtMs int64, job *domusecase.RetryJob) error
	ClaimDue(ctx context.Context, nowMs int64, limit int) ([]*domusecase.RetryJob, error)
}
