package audit import "time" type Repository interface { Append(event Event) (Event, error) List(filter Filter) (Page, error) Summary(query SummaryQuery) (Summary, error) DeleteOlderThan(cutoff time.Time) (int, error) DeleteOldest(limit int, before time.Time) (int, error) SizeBytes() (int64, error) } type SettingsRepository interface { Get() (Settings, error) SaveRetention(days int, maxGB int) error SaveLastCleanup(at time.Time, removed int) error }