package middleware

import (
	"context"
	"eslogad-be/internal/contract"
)

type AuthValidateService interface {
	ValidateToken(tokenString string) (*contract.UserResponse, error)
	RefreshToken(ctx context.Context, tokenString string) (*contract.LoginResponse, error)
	Logout(ctx context.Context, tokenString string) error
	ExtractAccess(tokenString string) (roles []string, permissions []string, err error)
}
