/**
 * Capacidades e limitações de um sistema de arquivos
 */
export interface IFileSystemCapabilities {
  // Operações
  readonly: boolean; // Sistema é somente leitura?
  caseSensitive: boolean; // Diferencia maiúsculas/minúsculas?
  atomicRename: boolean; // rename é atômico?

  // Limites
  maxFileSize?: number; // Tamanho máximo de arquivo em bytes
  maxPathLength?: number; // Comprimento máximo do path

  // Features
  supportsWatch: boolean; // Suporta watch?
  supportsMetadata: boolean; // Suporta metadata customizada?
  supportsGlob: boolean; // Suporta operações glob?

  // Features avançadas (opcionais para retrocompatibilidade)
  supportsTrueDirectories?: boolean; // Tem diretórios reais (vs apenas prefixos)?
  supportsAtomicOperations?: boolean; // Operações são realmente atômicas?
  supportsMultipartUpload?: boolean; // Suporta upload em partes para arquivos grandes?
  supportsPermissions?: boolean; // Tem sistema de permissões nativo?
  metadataLimit?: number; // Limite de tamanho para metadata em bytes
  description?: string; // Descrição das características específicas
}
