namespace View_by_Distance.Map.Models.Stateless.Methods;

public interface IMapLogic
{

    Dictionary<int, List<long>> TestStatic_GetIdToPersonKeys(Dictionary<long, List<int>> personKeyToIds) =>
        GetIdToPersonKeys(personKeyToIds);
    static Dictionary<int, List<long>> GetIdToPersonKeys(Dictionary<long, List<int>> personKeyToIds) =>
        MapLogic.GetIdToPersonKeys(personKeyToIds);

    List<(long, string)> TestStatic_GetDisplayDirectoryAllFiles(string fileNameExtension, Shared.Models.PersonContainer[] personContainers) =>
        GetDisplayDirectoryAllFiles(fileNameExtension, personContainers);
    static List<(long, string)> GetDisplayDirectoryAllFiles(string fileNameExtension, Shared.Models.PersonContainer[] personContainers) =>
        MapLogic.GetDisplayDirectoryAllFiles(fileNameExtension, personContainers);

    Shared.Models.Mapping[] TestStatic_GetSelectedMappingCollection(List<Shared.Models.Face> distinctFilteredFaces) =>
        GetSelectedMappingCollection(distinctFilteredFaces);
    static Shared.Models.Mapping[] GetSelectedMappingCollection(List<Shared.Models.Face> distinctFilteredFaces) =>
        MapLogic.GetSelectedMappingCollection(distinctFilteredFaces);

    Dictionary<int, Dictionary<int, Shared.Models.Mapping>> TestStatic_GetIdToNormalizedRectangleToFace(Shared.Models.Mapping[] mappingCollection) =>
        GetIdToNormalizedRectangleToFace(mappingCollection);
    static Dictionary<int, Dictionary<int, Shared.Models.Mapping>> GetIdToNormalizedRectangleToFace(Shared.Models.Mapping[] mappingCollection) =>
        MapLogic.GetIdToNormalizedRectangleToFace(mappingCollection);

    List<(long, string)> TestStatic_DeleteEmptyDirectoriesAndGetMappedFaceFiles(Configuration configuration, Shared.Models.PersonContainer[] personContainers, long ticks, string? a2PeopleContentDirectory, string eDistanceContentDirectory) =>
        DeleteEmptyDirectoriesAndGetMappedFaceFiles(configuration, personContainers, ticks, a2PeopleContentDirectory, eDistanceContentDirectory);
    static List<(long, string)> DeleteEmptyDirectoriesAndGetMappedFaceFiles(Configuration configuration, Shared.Models.PersonContainer[] personContainers, long ticks, string? a2PeopleContentDirectory, string eDistanceContentDirectory) =>
        MapLogic.DeleteEmptyDirectoriesAndGetMappedFaceFiles(configuration, personContainers, ticks, a2PeopleContentDirectory, eDistanceContentDirectory);

}