using System;
using System.Collections.Generic;
using Aaru.CommonTypes;
using Aaru.CommonTypes.Enums;
using Aaru.CommonTypes.Interfaces;
using Aaru.CommonTypes.Structs;
using Schemas;
namespace Aaru.DiscImages.ByteAddressable;
public class NES :IByteAddressableImage
{
///
public string Author { get; }
///
public CICMMetadataType CicmMetadata { get; }
///
public List DumpHardware { get; }
///
public string Format { get; }
///
public Guid Id { get; }
///
public ImageInfo Info { get; }
///
public string Name { get; }
///
public bool Identify(IFilter imageFilter) => throw new NotImplementedException();
///
public ErrorNumber Open(IFilter imageFilter) => throw new NotImplementedException();
///
public string ErrorMessage { get; }
///
public bool IsWriting { get; }
///
public IEnumerable KnownExtensions { get; }
///
public IEnumerable SupportedMediaTags { get; }
///
public IEnumerable SupportedMediaTypes { get; }
///
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions { get; }
///
public IEnumerable SupportedSectorTags { get; }
///
public bool Create(string path, MediaType mediaType, Dictionary options, ulong sectors, uint sectorSize) => throw new NotImplementedException();
///
public bool Close() => throw new NotImplementedException();
///
public bool SetCicmMetadata(CICMMetadataType metadata) => throw new NotImplementedException();
///
public bool SetDumpHardware(List dumpHardware) => throw new NotImplementedException();
///
public bool SetMetadata(ImageInfo metadata) => throw new NotImplementedException();
///
public long Position { get; set; }
///
public ErrorNumber Create(string path, MediaType mediaType, Dictionary options, long maximumSize) => throw new NotImplementedException();
///
public ErrorNumber GetHeader(out byte[] header) => throw new NotImplementedException();
///
public ErrorNumber GetMappings(out LinearMemoryMap mappings) => throw new NotImplementedException();
///
public ErrorNumber ReadByte(out byte b, bool advance = true) => throw new NotImplementedException();
///
public ErrorNumber ReadByteAt(long position, out byte b, bool advance = true) => throw new NotImplementedException();
///
public ErrorNumber ReadBytes(byte[] buffer, int offset, int bytesToRead, out int bytesRead, bool advance = true) => throw new NotImplementedException();
///
public ErrorNumber ReadBytesAt(long position, byte[] buffer, int offset, int bytesToRead, out int bytesRead,
bool advance = true) => throw new NotImplementedException();
///
public ErrorNumber SetHeader(byte[] header) => throw new NotImplementedException();
///
public ErrorNumber SetMappings(LinearMemoryMap mappings) => throw new NotImplementedException();
///
public ErrorNumber WriteByte(byte b, bool advance = true) => throw new NotImplementedException();
///
public ErrorNumber WriteByteAt(long position, byte b, bool advance = true) => throw new NotImplementedException();
///
public ErrorNumber WriteBytes(byte[] buffer, int offset, int bytesToWrite, out int bytesWritten, bool advance = true) => throw new NotImplementedException();
///
public ErrorNumber WriteBytesAt(long position, byte[] buffer, int offset, int bytesToWrite, out int bytesWritten,
bool advance = true) => throw new NotImplementedException();
}