// Generated by Lisette bindgen
// Source: embed (Go stdlib)
// Go: 1.25.10
// Lisette: 0.2.1

import "go:io/fs"

/// An FS is a read-only collection of files, usually initialized with a //go:embed directive.
/// When declared without a //go:embed directive, an FS is an empty file system.
/// 
/// An FS is a read-only value, so it is safe to use from multiple goroutines
/// simultaneously and also safe to assign values of type FS to each other.
/// 
/// FS implements fs.FS, so it can be used with any package that understands
/// file system interfaces, including net/http, text/template, and html/template.
/// 
/// See the package documentation for more details about initializing an FS.
pub type FS

impl FS {
  /// Open opens the named file for reading and returns it as an [fs.File].
  /// 
  /// The returned file implements [io.Seeker] and [io.ReaderAt] when the file is not a directory.
  fn Open(self, name: string) -> Result<fs.File, error>

  /// ReadDir reads and returns the entire named directory.
  fn ReadDir(self, name: string) -> Result<Slice<fs.DirEntry>, error>

  /// ReadFile reads and returns the content of the named file.
  fn ReadFile(self, name: string) -> Result<Slice<byte>, error>
}
