package approval

import "github.com/acp/interceptor/internal/models"

// Repository stores human-in-the-loop approval tickets.
type Repository interface {
	UpsertPending(traceID string, req models.ToolCallRequest, escalateReason, policy string) *Record
	Get(traceID string) (*Record, bool)
	List(status Status, limit int) []Record
	Approve(traceID, decidedBy string) (*Record, error)
	Deny(traceID, decidedBy string) (*Record, error)
}
