package database

import "time"

type Database interface {
	Set(key []byte, value []byte) error
	SetWithTTL(key []byte, value []byte, ttl time.Duration) error
	Contains(key []byte) (bool, error)
	Get(key []byte) ([]byte, error)
	ForEach(consumer func(key []byte, value []byte)) error
	ForEachWithPrefix(prefix []byte, consumer func(key []byte, value []byte)) error
	Delete(key []byte) error
}