namespace View_by_Distance.Shared.Models.Properties;

public interface IMappingFromItem
{

    public DateTime[] ContainerDateTimes { init; get; }
    public int Id { init; get; }
    public FileHolder ImageFileHolder { init; get; }
    public bool? IsWrongYear { init; get; }
    public DateTime MinimumDateTime { init; get; }
    public string RelativePath { init; get; }
    public FileHolder ResizedFileHolder { init; get; }

}

public interface IMappingFromFilter
{

    public bool? IsFocusModel { init; get; }
    public bool? IsFocusRelativePath { init; get; }
    public bool? IsIgnoreRelativePath { init; get; }
    public bool? InSkipCollection { init; get; }

}

public interface IMappingFromLocation
{

    public int AreaPermyriad { init; get; }
    public int ConfidencePercent { init; get; }
    public string DeterministicHashCodeKey { init; get; }
    public int NormalizedRectangle { init; get; }

}

public interface IMappingFromPhotoPrism
{

    public DatabaseFile DatabaseFile { init; get; }
    public List<Marker> Markers { init; get; }

}

public interface IMappingFromPerson
{

    public int? ApproximateYears { init; get; }
    public string DisplayDirectoryName { init; get; }
    public PersonBirthday PersonBirthday { init; get; }
    public string SegmentB { init; get; }

}

public interface IMapping
{

    public int? By { get; }
    public string? SegmentC { get; }
    public MappingFromItem MappingFromItem { init; get; }
    public MappingFromLocation? MappingFromLocation { init; get; }
    public List<MappingFromPhotoPrism>? MappingFromPhotoPrismCollection { init; get; }
    public MappingFromPerson? MappingFromPerson { get; }
    public SortingContainer? SortingContainer { get; }

}