package repository

import (
	"context"
	"time"
)

// TokenRevokeStore tracks access/refresh jti pairs and JWT revocation blacklist.
type TokenRevokeStore interface {
	SavePair(ctx context.Context, accessJTI, refreshJTI string, accessTTL, refreshTTL time.Duration) error
	GetPairedJTI(ctx context.Context, jti string) (string, error)
	DeletePair(ctx context.Context, accessJTI, refreshJTI string) error
	Blacklist(ctx context.Context, jti string, ttl time.Duration) error
	IsBlacklisted(ctx context.Context, jti string) (bool, error)
}
