package config

import "github.com/tidbcloud/service-proxy/pkg/audit"

// AuditConfigChangeHandler handles audit configuration changes.
// Implementations must be safe for concurrent calls.
type AuditConfigChangeHandler interface {
	// OnAuditConfigChange is called when audit configuration changes.
	// The implementation should validate the config and apply changes atomically.
	// Returns error if the config is invalid or cannot be applied.
	OnAuditConfigChange(cfg *audit.Config) error
}

// RouteConfigChangeHandler handles route configuration changes.
// This interface is reserved for future route hot-reload support.
type RouteConfigChangeHandler interface {
	OnRouteConfigChange(clusterRoutes, serviceRoutes []RouteConfig) error
}
