1package storage23import (4 "io"5 "io/fs"6)78// Object is an interface for objects that can be stored.9type Object interface {10 io.Seeker11 fs.File12 Name() string13}1415// Storage is an interface for storing and retrieving objects.16type Storage interface {17 Open(name string) (Object, error)18 Stat(name string) (fs.FileInfo, error)19 Put(name string, r io.Reader) (int64, error)20 Delete(name string) error21 Exists(name string) (bool, error)22 Rename(oldName, newName string) error23}