package domain

import "context"

// Storage — object storage (MinIO / S3 / local).
type Storage interface {
	// Upload writes bytes; returns public URL and object key.
	Upload(ctx context.Context, key string, data []byte, contentType string) (publicURL string, err error)
	// Delete removes object by key (best-effort).
	Delete(ctx context.Context, key string) error
	// Enabled is false when no backend configured (caller may reject uploads).
	Enabled() bool
	// Name for logs: s3 | local | noop
	Name() string
}
